我使用httplib从一个网站抓取一堆资源,我希望它以最低的成本,所以我设置'连接:保持活动'HTTP头对我的请求,但我不知道它实际上使用相同的TCP连接尽可能多的请求作为网络服务器允许的。确实httplib重用TCP连接?
i = 0
while 1:
i += 1
print i
con = httplib.HTTPConnection("myweb.com")
con.request("GET", "/x.css", headers={"Connection":" keep-alive"})
result = con.getresponse()
print result.reason, result.getheaders()
我的实施是否正确? 保持活力吗? 我应该把'con = httplib.HTTPConnection(“myweb.com”)'放在循环之外吗?
P.S:Web服务器的保持活动响应是好的, 我知道urllib3
@CrazyCasta:你为什么认为它是重复的? 'urllib2'使用'Connection:close',即一个请求 - 一个连接。 'httplib'使用'HTTP/1.1',即默认情况下可以重新使用连接。相关:[持久性urllib.request连接到HTTP服务器](http://stackoverflow.com/q/9772854/4279) – jfs
如果你看看这个问题,它是关于如何在python中执行多个HTTP请求。 urllib2有点误导。如果你看第一个答案,它特别涉及到httplib。 – CrazyCasta