有时Python请求模块和wget HTTP响应与curl / Chrome相矛盾

时间:2013-07-12 16:41:43

标签: http python-2.7 python-requests

在检查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/"

1 个答案:

答案 0 :(得分:3)

您正在使用requests而不是GET发送HEAD请求。 请改为requests.get("http://www.dagoradiosound.info/site/")

使用curl -I "http://www.dagoradiosound.info/site/"仅提取标题也会返回此特定网址的404状态。