mirror of
https://github.com/kennethreitz/requests3.git
synced 2026-06-05 23:10:16 +00:00
proxy manager
This commit is contained in:
@@ -127,7 +127,7 @@ class HTTPAdapter(BaseAdapter):
|
||||
proxy = proxies.get(urlparse(url).scheme)
|
||||
|
||||
if proxy:
|
||||
conn = poolmanager.proxy_from_url(proxy)
|
||||
conn = self.poolmanager.ProxyManager(self.poolmanager.proxy_from_url(proxy))
|
||||
else:
|
||||
conn = self.poolmanager.connection_from_url(url)
|
||||
|
||||
|
||||
+15
-2
@@ -19,7 +19,7 @@ from .exceptions import TooManyRedirects, InvalidSchema
|
||||
from .compat import urlparse, urljoin
|
||||
from .adapters import HTTPAdapter
|
||||
|
||||
from .utils import requote_uri
|
||||
from .utils import requote_uri, get_environ_proxies, get_netrc_auth
|
||||
|
||||
from .status_codes import codes
|
||||
REDIRECT_STATI = (codes.moved, codes.found, codes.other, codes.temporary_moved)
|
||||
@@ -204,6 +204,7 @@ class Session(SessionRedirectMixin):
|
||||
cert=None):
|
||||
|
||||
cookies = cookies or {}
|
||||
proxies = proxies or {}
|
||||
|
||||
# Bootstrap CookieJar.
|
||||
if not isinstance(cookies, cookielib.CookieJar):
|
||||
@@ -213,6 +214,17 @@ class Session(SessionRedirectMixin):
|
||||
for cookie in self.cookies:
|
||||
cookies.set_cookie(cookie)
|
||||
|
||||
# Gather clues from the surrounding environment.
|
||||
if self.trust_env:
|
||||
# Set environment's proxies.
|
||||
env_proxies = get_environ_proxies(url) or {}
|
||||
for (k, v) in env_proxies.items():
|
||||
proxies.setdefault(k, v)
|
||||
|
||||
# Set environment's basic authentication.
|
||||
if not auth:
|
||||
auth = get_netrc_auth(url)
|
||||
|
||||
# Merge all the kwargs.
|
||||
params = merge_kwargs(params, self.params)
|
||||
headers = merge_kwargs(headers, self.headers)
|
||||
@@ -223,6 +235,7 @@ class Session(SessionRedirectMixin):
|
||||
verify = merge_kwargs(verify, self.verify)
|
||||
cert = merge_kwargs(cert, self.cert)
|
||||
|
||||
|
||||
# Create the Request.
|
||||
req = Request()
|
||||
req.method = method
|
||||
@@ -239,7 +252,7 @@ class Session(SessionRedirectMixin):
|
||||
prep = req.prepare()
|
||||
|
||||
# Send the request.
|
||||
resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert)
|
||||
resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
|
||||
|
||||
# Redirect resolving generator.
|
||||
gen = self.resolve_redirects(resp, req, stream, timeout, verify, cert)
|
||||
|
||||
Reference in New Issue
Block a user