mirror of
https://github.com/kennethreitz/requests.git
synced 2026-06-05 22:50:18 +00:00
Exposed key_file and cert_file in requests, to support https client certificates.
This commit is contained in:
@@ -33,6 +33,8 @@ def request(method, url, **kwargs):
|
||||
:param config: (optional) A configuration dictionary.
|
||||
:param verify: (optional) if ``True``, the SSL cert will be verified. A CA_BUNDLE path can also be provided.
|
||||
:param prefetch: (optional) if ``True``, the response content will be immediately downloaded.
|
||||
:param key_file: (optional) ssl client key file.
|
||||
:param cert_file: (optional) ssl client cert file.
|
||||
"""
|
||||
|
||||
s = kwargs.pop('session') if 'session' in kwargs else sessions.session()
|
||||
|
||||
+11
-1
@@ -63,7 +63,9 @@ class Request(object):
|
||||
config=None,
|
||||
_poolmanager=None,
|
||||
verify=None,
|
||||
session=None):
|
||||
session=None,
|
||||
key_file=None,
|
||||
cert_file=None):
|
||||
|
||||
#: Dictionary of configurations for this request.
|
||||
self.config = dict(config or [])
|
||||
@@ -143,6 +145,10 @@ class Request(object):
|
||||
#: SSL Verification.
|
||||
self.verify = verify
|
||||
|
||||
#: SSL Certificate
|
||||
self.key_file = key_file
|
||||
self.cert_file = cert_file
|
||||
|
||||
if headers:
|
||||
headers = CaseInsensitiveDict(self.headers)
|
||||
else:
|
||||
@@ -507,6 +513,10 @@ class Request(object):
|
||||
conn.cert_reqs = 'CERT_NONE'
|
||||
conn.ca_certs = None
|
||||
|
||||
if self.key_file and self.cert_file:
|
||||
conn.key_file = self.key_file
|
||||
conn.cert_file = self.cert_file
|
||||
|
||||
if not self.sent or anyway:
|
||||
|
||||
if self.cookies:
|
||||
|
||||
+10
-2
@@ -77,7 +77,9 @@ class Session(object):
|
||||
params=None,
|
||||
config=None,
|
||||
prefetch=False,
|
||||
verify=True):
|
||||
verify=True,
|
||||
key_file=None,
|
||||
cert_file=None):
|
||||
|
||||
self.headers = headers or {}
|
||||
self.cookies = cookies or {}
|
||||
@@ -89,6 +91,8 @@ class Session(object):
|
||||
self.config = config or {}
|
||||
self.prefetch = prefetch
|
||||
self.verify = verify
|
||||
self.key_file = key_file
|
||||
self.cert_file = cert_file
|
||||
|
||||
for (k, v) in list(defaults.items()):
|
||||
self.config.setdefault(k, v)
|
||||
@@ -131,7 +135,9 @@ class Session(object):
|
||||
return_response=True,
|
||||
config=None,
|
||||
prefetch=False,
|
||||
verify=None):
|
||||
verify=None,
|
||||
key_file=None,
|
||||
cert_file=None):
|
||||
|
||||
"""Constructs and sends a :class:`Request <Request>`.
|
||||
Returns :class:`Response <Response>` object.
|
||||
@@ -188,6 +194,8 @@ class Session(object):
|
||||
proxies=proxies,
|
||||
config=config,
|
||||
verify=verify,
|
||||
key_file=key_file,
|
||||
cert_file=cert_file,
|
||||
_poolmanager=self.poolmanager
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user