【发布时间】:2015-06-20 18:11:00
【问题描述】:
我正在使用 httplib 从网站获取大量资源,并且我希望以最低成本获得它,所以我在请求中设置了“连接:保持活动”HTTP 标头,但我不确定它是否真的使用相同的网络服务器允许的尽可能多的请求的 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服务器对keep-alive的响应是ok的, 我知道 urllib3
【问题讨论】:
-
@CrazyCasta:你为什么认为它是重复的?
urllib2使用Connection: close即一个请求 - 一个连接。httplib使用HTTP/1.1,即默认情况下可以重用连接。相关:Persistence of urllib.request connections to a HTTP server -
如果你看这个问题,它是关于如何在 python 中执行多个 HTTP 请求。 urllib2 有点误导。如果您查看第一个答案,它具体与 httplib 有关。