mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
gh-94172: urllib.request avoids deprecated key_file/cert_file (#94232)
The urllib.request module no longer uses the deprecated key_file and cert_file parameter of the http.client module.
This commit is contained in:
parent
e87ada48a9
commit
37118fa2e3
1 changed files with 11 additions and 3 deletions
|
@ -1990,9 +1990,17 @@ class URLopener:
|
|||
|
||||
if _have_ssl:
|
||||
def _https_connection(self, host):
|
||||
return http.client.HTTPSConnection(host,
|
||||
key_file=self.key_file,
|
||||
cert_file=self.cert_file)
|
||||
if self.key_file or self.cert_file:
|
||||
http_version = http.client.HTTPSConnection._http_vsn
|
||||
context = http.client._create_https_context(http_version)
|
||||
context.load_cert_chain(self.cert_file, self.key_file)
|
||||
# cert and key file means the user wants to authenticate.
|
||||
# enable TLS 1.3 PHA implicitly even for custom contexts.
|
||||
if context.post_handshake_auth is not None:
|
||||
context.post_handshake_auth = True
|
||||
else:
|
||||
context = None
|
||||
return http.client.HTTPSConnection(host, context=context)
|
||||
|
||||
def open_https(self, url, data=None):
|
||||
"""Use HTTPS protocol."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue