【发布时间】:2021-01-31 20:02:19
【问题描述】:
我正在尝试使用 Python 检查网站列表是否在线。但是,在几个站点上,请求会产生错误的状态代码。例如,我得到的https://signaturehound.com/ 的状态码是 500,即使网站在线并且在 Chrome 开发者工具中显示了响应码 200。
我的代码如下:
import requests
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
def url_ok(url):
r = requests.head(url,timeout=5,allow_redirects=True,headers=headers)
status_code = r.status_code
return status_code
print(url_ok("https://signaturehound.com/"))
【问题讨论】:
-
可能该网站不支持
head请求,使用get可以正常工作。 -
我收到错误代码 500
-
@WasifHasan 我也是,当我尝试
.get时,我得到了200状态码 -
@CaptainDaVinci 有时解决方案可以非常简单。非常感谢!换头去get对我有用。
-
@JakobGreenfeld 如果您找到了解决方案,我建议您发布您的解决方案作为此问题的答案,以便稍后查看此帖子的人可以快速找到答案。