如何在python中使用urllib3.PoolManager时设置代理

时间:2016-09-02 08:50:43

标签: python proxy connection-pooling urllib3

我目前在python中使用urllib3提供的连接池,如下所示,

pool = urllib3.PoolManager(maxsize = 10)
resp = pool.request('GET', 'http://example.com')
content = resp.read()
resp.release_conn()

但是,我不知道在使用此连接池时如何设置代理。我试图在“请求”中设置代理。比如pool.request('GET', 'http://example.com', proxies={'http': '123.123.123.123:8888'},但它没有用。

有人可以告诉我如何在使用连接池时设置代理

感谢〜

1 个答案:

答案 0 :(得分:2)

如果在Advanced Usage section of the documentation中使用urllib3的代理,有一个示例。我根据你的例子进行了调整:

import urllib3
proxy = urllib3.ProxyManager('http://123.123.123.123:8888/', maxsize=10)
resp = proxy.request('GET', 'http://example.com/')
content = resp.read()
# You don't actually need to release_conn() if you're reading the full response.
# This will be a harmless no-op:
resp.release_conn()

ProxyManager的行为与PoolManager的行为相同。