Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

verify=False doesn't ignore certificate errors with proxy #5882

Closed
achapkowski opened this issue Jul 20, 2021 · 2 comments
Closed

verify=False doesn't ignore certificate errors with proxy #5882

achapkowski opened this issue Jul 20, 2021 · 2 comments

Comments

@achapkowski
Copy link

@achapkowski achapkowski commented Jul 20, 2021

Summary.

When creating a session and setting verify=False with a proxy defined value error is raised. The easiest way to setup this issue is to open Fiddler4 and run the following on Windows:

import requests
import urllib
url = "https://www.arcgis.com/sharing/rest?f=json"
proxies = urllib.request.getproxies()

session = requests.Session()
session.proxies = proxies
session.trust_env = True
session.verify = False
resp = session.get(url=url)
print(resp.json())

Expected Result

{'currentVersion': '9.2'}

Actual Result

Traceback (most recent call last):
  Python Shell, prompt 2, line 10
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\requests\sessions.py", line 555, in get
    return self.request('GET', url, **kwargs)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\requests\adapters.py", line 449, in send
    timeout=timeout
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\urllib3\connectionpool.py", line 696, in urlopen
    self._prepare_proxy(conn)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\urllib3\connectionpool.py", line 964, in _prepare_proxy
    conn.connect()
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\urllib3\connection.py", line 359, in connect
    conn = self._connect_tls_proxy(hostname, conn)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\urllib3\connection.py", line 506, in _connect_tls_proxy
    ssl_context=ssl_context,
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\urllib3\util\ssl_.py", line 432, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\site-packages\urllib3\util\ssl_.py", line 474, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock)
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\ssl.py", line 423, in wrap_socket
    session=session
  File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-dev\Lib\ssl.py", line 827, in _create
    raise ValueError("check_hostname requires server_hostname")
builtins.ValueError: check_hostname requires server_hostname

What happened instead.

Reproduction Steps

import requests

System Information

$ python -m requests.help
{
  "chardet": {
    "version": "4.0.0"
  },
  "cryptography": {
    "version": "3.3.1"
  },
  "idna": {
    "version": "2.10"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.7.10"
  },
  "platform": {
    "release": "10",
    "system": "Windows"
  },
  "pyOpenSSL": {
    "openssl_version": "1010109f",
    "version": "20.0.1"
  },
  "requests": {
    "version": "2.25.1"
  },
  "system_ssl": {
    "version": "1010109f"
  },
  "urllib3": {
    "version": "1.25.11"
  },
  "using_pyopenssl": true
}
@achapkowski
Copy link
Author

@achapkowski achapkowski commented Sep 16, 2021

I can reproduce the issue with the latest requests 2.26.x and urllib3 1.26.6

PR: urllib3/urllib3#2407 breaks the requests.Session object it appears when any proxy is given now.

@sigmavirus24
Copy link
Contributor

@sigmavirus24 sigmavirus24 commented Sep 24, 2021

Duplicate of #5943

@sigmavirus24 sigmavirus24 marked this as a duplicate of #5943 Sep 24, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants