如何在执行多个请求时加速Python的urllib2

spe*_*ane 21 python http urllib2

我正在使用python的urllib2库向特定主机发出几个http请求.每次发出请求时,都会创建一个新的tcp和http连接,这需要花费大量时间.有没有办法使用urllib2保持tcp/http连接活着?

Cor*_*erg 27

如果切换到httplib,您将可以更好地控制底层连接.

例如:

import httplib

conn = httplib.HTTPConnection(url)

conn.request('GET', '/foo')
r1 = conn.getresponse()
r1.read()

conn.request('GET', '/bar')
r2 = conn.getresponse()
r2.read()

conn.close()
Run Code Online (Sandbox Code Playgroud)

这将在相同的底层TCP连接上发送2个HTTP GET.