我是Python(3)的新手,所以请不要抨击我:D
我使用下面的代码来导入一个包含不同URL的.txt文件,以便检查它们的状态代码。 在我的示例中,我添加了4个站点url
以下是import.txt,只有一个URL:
https://site1.site
https://site2.site
https://site3.site
https://site4.site
https://site5.site
虽然这是py脚本本身:
import requests
with open('import.txt', 'r') as f :
for line in f :
print(line)
#try :
r = requests.get(line)
print(r.status_code)
#except requests.ConnectionError :
# print("failed to connect")
以下是回应:
https://site1.site
https://site2.site
https://site3.site
https://site4.site
https://site5.site
400
即使site3和site4是301,而site5有一个失败的连接响应,我只收到一个400响应,适用于所有提交的url
如果我使用下面的脚本为这些url中的每一个请求.head,那么我将收到正确的页面状态代码(下面的示例中为“永久移动”)。这是单个请求脚本:
import requests
try:
r = requests.head("http://site3.net/")
if r.status_code == 200:
print('Success!')
elif r.status_code == 301:
print('Moved Permanently')
elif r.status_code == 404:
print('Not Found')
# print(r.status_code)
except requests.ConnectionError:
print("failed to connect")
向What’s the best way to get an HTTP response code from a URL?致敬
对
requests.get()
的调用在for
循环之外,因此只执行一次。尝试缩进相关行,如下所示:另外,我建议你使用4个空格的缩进。这样,这样的错误更容易发现
相关问题 更多 >
编程相关推荐