@@ -88,17 +88,31 @@ def __init__(self, configuration, pools_size=4, maxsize=None):
88
88
89
89
# https pool manager
90
90
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
+ )
102
116
else :
103
117
self .pool_manager = urllib3 .PoolManager (
104
118
num_pools = pools_size ,
0 commit comments