requests请求报错ChunkedEncodingError

python3使用requests包 发送请求时报错
ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))
内添加 steam=True 经测试无效无效
原因:Transfer-Encoding:chunked是HTTP 1.1的新特性,chunked编码的基本方法是将大块数据分解成多块小数据,每块都可以自指定长度。目标网站服务器支持的是HTTP 1.0,而requests默认使用的是HTTP 1.1,兼容存在问题。
解决办法:将HTTP协议版本设置为1.0

  1. Python3
import http.client
http.client.HTTPConnection._http_vsn = 10
http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'
  1. Python2
import httplib
httplib.HTTPConnection._http_vsn = 10
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'

你可能感兴趣的:(requests请求报错ChunkedEncodingError)