我使用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