对于我要提取的其中一个网站,我得到'badstatusline'
例外。
问题仅在Linux上显示,但在Windows上一切正常。
经过测试:
这是我的代码:
import requests
url = 'https://somewebsite.com'
try:
r = requests.get(url, verify=False)
except Exception, e:
print e
我尝试在请求中添加自定义标头,但它没有帮助。 可能是什么问题?
我尝试过wget,但收到以下回复:
已发送HTTP请求,正在等待响应...未收到任何数据。
EDIT1:
例外: 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: curl on linux报告“来自服务器的空回复” Windows上的curl报告相同 - “来自服务器的空回复”
答案 0 :(得分:-2)
您是否曾尝试验证您是否收到了有效的HTML?如果没有,我会尝试打印出请求的内容,并确保它符合标准