urllib2的可以使HTTP / 1.1请求?
题
编辑:
此问题是无效的。原来透明代理正在作出即使的urllib / httplib的确实作出HTTP 1.1请求最初的向前HTTP 1.0请求。
原来的问题:
默认情况下urllib2.urlopen
总是让一个HTTP 1.0请求。
有没有办法把它谈的HTTP 1.1?
解决方案
为什么你认为它不是已经使用了HTTP 1.1吗?您是否尝试过类似...
>>> import urllib2
>>> urllib2._opener.handlers[1].set_http_debuglevel(100)
>>> urllib2.urlopen('http://mit.edu').read()[:10]
connect: (mit.edu, 80)
send: 'GET / HTTP/1.1
(等,等)?这将显示它已经发送一个1.1 GET请求。
其他提示
的urllib2使用httplib的做出HTTP请求。我的Python 2.6.4绝对使用HTTP / 1.1 httplib的,虽然它可以处理从1.1,1.0或0.9服务器的响应。早在2.3,这似乎是的情况下(以及可能回到1.5)
然而,如果它是通过代理需要隧道,它将发送一个请求是这样的:
CONNECT host:port HTTP/1.0
和该/1.0字符串是硬编码的。
Python版本您使用,以及如何您使用的urllib2?
不隶属于 StackOverflow