擅长:python、mysql、java
<p>我发现在我的案例中:发送HTTP/1.0请求,添加这个,修复这个问题。</p>
<pre><code>import httplib
httplib.HTTPConnection._http_vsn = 10
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'
</code></pre>
<p>在我提出请求之后:</p>
<pre><code>req = urllib2.Request(url, post, headers)
filedescriptor = urllib2.urlopen(req)
img = filedescriptor.read()
</code></pre>
<p>在我使用(对于支持1.1的连接)返回到http 1.1之后:</p>
<pre><code>httplib.HTTPConnection._http_vsn = 11
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.1'
</code></pre>
<p>诀窍是使用htp1.0代替默认的http/1.1
htp1.1可以处理块,但由于某些原因webserver不能处理,所以我们在htp1.0中执行请求</p>
<p>对于Python3,它会告诉你</p>
<blockquote>
<p>ModuleNotFoundError: No module named 'httplib'</p>
</blockquote>
<p>然后尝试使用http.client模块它将解决问题</p>
<pre><code>import http.client as http
http.HTTPConnection._http_vsn = 10
http.HTTPConnection._http_vsn_str = 'HTTP/1.0'
</code></pre>