'badstatusline'
对于我试图获取的网站之一,我得到了例外。问题仅在 Linux 上显示,但在 Windows 上一切正常。测试:
- Windows 7 64 位,Python 2.6.x 32 位 -> 确定
- Windows XP SP3,Python 2.7.3 -> 好的
- Xubuntu 12.10,Python 2.7.3 -> badstatusline
- Ubuntu 12.04 LTS、Python 2.7.3 -> badstatusline
这是我的代码:
import requests
url = 'https://somewebsite.com'
try:
r = requests.get(url, verify=False)
except Exception, e:
print e
我尝试在请求中添加自定义标头,但没有帮助。可能是什么问题呢?
我曾尝试使用 wget,但收到以下回复:
已发送 HTTP 请求,等待响应... 未收到数据。
编辑1:
例外:HTTPSConnectionPool(host='somesite.com',port=443):最大重试次数超出 url:由类 'httplib.BadStatusLine':'')
这是来自 httplib:
def _read_status(self):
# Initialize with Simple-Response defaults
line = self.fp.readline()
if self.debuglevel > 0:
print "reply:", repr(line)
if not line:
# Presumably, the server closed the connection before
# sending a valid response.
raise BadStatusLine(line)
我可以绕过这个,但这不是解决方案。解决方案是,如果我的请求可以更像 FF 并且无论如何都可以访问数据。再一次,它在 Win7 和 Win XP 上就像魅力一样。
Edit2: Linux 上的 curl 报告“来自服务器的空回复” Windows 上的 curl 报告相同 - “来自服务器的空回复”