youtube-local
youtube-local copied to clipboard
SSL certificate verification failed on Windows when fetching YouTube search results (urllib3/MaxRetryError)
What steps should I take to resolve this issue?
Traceback (most recent call last):
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 464, in _make_request
self._validate_conn(conn)
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 1093, in _validate_conn
conn.connect()
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connection.py", line 741, in connect
sock_and_verified = _ssl_wrap_socket_and_match_hostname(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connection.py", line 920, in _ssl_wrap_socket_and_match_hostname
ssl_sock = ssl_wrap_socket(
^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\util\ssl_.py", line 460, in ssl_wrap_socket
ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\util\ssl_.py", line 504, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\gevent\ssl.py", line 122, in wrap_socket
return self.sslsocket_class(
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\gevent\ssl.py", line 351, in __init__
self.do_handshake()
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\gevent\ssl.py", line 740, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 488, in _make_request
raise new_e
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\flask\app.py", line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\flask\app.py", line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\flask\app.py", line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\flask\app.py", line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\youtube\search.py", line 77, in get_search_page
polymer_json = get_search_json(query, page, autocorrect, sort, filters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\youtube\search.py", line 56, in get_search_json
content = util.fetch_url(url, headers=headers, report_text="Got search results", debug_name='search_results')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\youtube\util.py", line 301, in fetch_url
response, cleanup_func = fetch_url_response(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\youtube\util.py", line 270, in fetch_url_response
response = pool.request(method, url, headers=headers, body=data,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\_request_methods.py", line 135, in request
return self.request_encode_url(
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\_request_methods.py", line 182, in request_encode_url
return self.urlopen(method, url, **extra_kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\poolmanager.py", line 443, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 871, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 871, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 871, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\connectionpool.py", line 841, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Users\name\Downloads\youtube-local\python\Lib\site-packages\urllib3\util\retry.py", line 519, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.youtube.com', port=443): Max retries exceeded with url: /results?search_query=%EC%82%BC%EC%8B%9D&pbj=1&sp=CAASBggAEAAYAEICCABIAOoDAA%3D%3D (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)')))
Are you on a corporate or university network? Or have you or anyone else messed with the SSL certificates on your system?
Anyone else on windows getting this issue?
I'm using Proton VPN. Is that a problem?