请求无法在内容丰富的网址上完成

问题描述 投票:0回答:2

我无法解决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上获取一个大文件。

python python-requests urllib2
2个回答
0
投票

您实际上是如何在此处获得回复内容的?由于已设置stream=True,因此将仅下载头文件,之后将等待您使用Response.iter_linesResponse.iter_content或在Response.raw输出流上执行直接IO获取实际数据。

很难在没有更多信息的情况下提供帮助,但是由于所有这些信息都应被赋予“界限”,因此您可以查看阅读进度,并确定阅读是否已完全锁定。或者,如果您甚至还没有达到这一要求(此时您可能希望启用http.client和urllib3的低级日志记录,则非常嘈杂,但会提供更多见解)]


0
投票

[致以诚挚的歉意,我也一直在处理来自任务受让人的非常少的信息-实际上,URL本身无法从实例访问。最终对我有用的方法就是@congbauguier建议的方法:Download large file in python with requests

© www.soinside.com 2019 - 2024. All rights reserved.