我无法解决url命中包含50〜MB的内容时出现的request.get问题。浏览器总共花费4分钟〜来获取/显示完整的响应,而request.get()则保持运行一个永恒。
response = requests.get('http://<url-that-renders-contents-as-raw-data>', headers=<headers>, cookies=<cookies>, verify=False, stream=True)
由于某些隐私问题,无法共享实际的URL /标头/ Cookie等其他参数,但是我们如何获取URL的response.content,也许是成块的,当作为get请求被命中时,它会获得原始数据/日志/价值MB的行?
编辑:实际上,它是一个SimpleHTTPServer或一个SimpleAuthServer,我需要从http上获取一个大文件。
您实际上是如何在此处获得回复内容的?由于已设置stream=True
,因此将仅下载头文件,之后将等待您使用Response.iter_lines
,Response.iter_content
或在Response.raw
输出流上执行直接IO获取实际数据。
很难在没有更多信息的情况下提供帮助,但是由于所有这些信息都应被赋予“界限”,因此您可以查看阅读进度,并确定阅读是否已完全锁定。或者,如果您甚至还没有达到这一要求(此时您可能希望启用http.client和urllib3的低级日志记录,则非常嘈杂,但会提供更多见解)]
[致以诚挚的歉意,我也一直在处理来自任务受让人的非常少的信息-实际上,URL本身无法从实例访问。最终对我有用的方法就是@congbauguier建议的方法:Download large file in python with requests