wkg*_*sam 11 python python-3.x python-requests
我有一个只能从我们的 VPC 内部访问的 URL。
如果我通过 Postman 输入 URL,我就可以看到内容(这是一个 Pdf),并且可以将输出完美地保存到文件中。
然而,当尝试使用 python requests 来自动执行此操作时
import requests
r = requests.get(url, params=params)
Run Code Online (Sandbox Code Playgroud)
我得到一个例外
ChunkedEncodingError: ("Connection broken: InvalidChunkLength(got length b'', 0 bytes read)", InvalidChunkLength(got length b'', 0 bytes read))
Run Code Online (Sandbox Code Playgroud)
其他 Stackoverflow 问题并没有真正帮助解决这个问题,而且这个问题始终可以通过请求重现
Raj*_*jha 15
我认为此错误的原因是服务器未正确编码该块。某些块大小不是整数 b'',因此您会收到块编码错误。
尝试下面的代码
import requests
from requests.exceptions import ChunkedEncodingError
response = requests.get(url, params=params, stream=True)
try:
for data in response.iter_content(chunk_size=1024):
print(data)
except ChunkedEncodingError as ex:
print(f"Invalid chunk encoding {str(ex)}")
Run Code Online (Sandbox Code Playgroud)