在检查HTTP状态代码时,我会偶尔看到来自Python'requests'模块和linux curl的结果之间的差异。
此网址http://www.dagoradiosound.info/site/返回带有'requests'的'404'和带有curl和chrome浏览器的wget但是'200'。
有谁知道为什么我会得到这些矛盾的结果?
#Python
import requests
url = "http://www.dagoradiosound.info/site/"
r = requests.head(url)
r.status_code
#curl
curl -sL -w "%{http_code} %{url_effective}\\n" "http://www.dagoradiosound.info/site/" -o /dev/null
#wget
wget --spider "http://www.dagoradiosound.info/site/"
答案 0 :(得分:3)
您正在使用requests
而不是GET发送HEAD请求。
请改为requests.get("http://www.dagoradiosound.info/site/")
。
使用curl -I "http://www.dagoradiosound.info/site/"
仅提取标题也会返回此特定网址的404状态。