@@ -88,17 +88,31 @@ def __init__(self, configuration, pools_size=4, maxsize=None):
8888
8989 # https pool manager
9090 if configuration .proxy and not should_bypass_proxies (configuration .host , no_proxy = configuration .no_proxy or '' ):
91- self .pool_manager = urllib3 .ProxyManager (
92- num_pools = pools_size ,
93- maxsize = maxsize ,
94- cert_reqs = cert_reqs ,
95- ca_certs = ca_certs ,
96- cert_file = configuration .cert_file ,
97- key_file = configuration .key_file ,
98- proxy_url = configuration .proxy ,
99- proxy_headers = configuration .proxy_headers ,
100- ** addition_pool_args
101- )
91+ if configuration .proxy .startswith ('sock' ):
92+ from urllib3 .contrib .socks import SOCKSProxyManager
93+ self .pool_manager = SOCKSProxyManager (
94+ num_pools = pools_size ,
95+ maxsize = maxsize ,
96+ cert_reqs = cert_reqs ,
97+ ca_certs = ca_certs ,
98+ cert_file = configuration .cert_file ,
99+ key_file = configuration .key_file ,
100+ proxy_url = configuration .proxy ,
101+ headers = configuration .proxy_headers ,
102+ ** addition_pool_args
103+ )
104+ else :
105+ self .pool_manager = urllib3 .ProxyManager (
106+ num_pools = pools_size ,
107+ maxsize = maxsize ,
108+ cert_reqs = cert_reqs ,
109+ ca_certs = ca_certs ,
110+ cert_file = configuration .cert_file ,
111+ key_file = configuration .key_file ,
112+ proxy_url = configuration .proxy ,
113+ proxy_headers = configuration .proxy_headers ,
114+ ** addition_pool_args
115+ )
102116 else :
103117 self .pool_manager = urllib3 .PoolManager (
104118 num_pools = pools_size ,
0 commit comments