diff options
author | coletdjnz <coletdjnz@protonmail.com> | 2023-07-28 02:56:02 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-27 20:26:02 +0530 |
commit | bbeacff7fcaa3b521066088a5ccbf34ef5070d1d (patch) | |
tree | 7cb66eb3b93374fe7e2629f94900cb2a183fdd8b /yt_dlp/networking/common.py | |
parent | dae349da97cafe7357106a8f3187fd48a2ad1210 (diff) | |
download | hypervideo-pre-bbeacff7fcaa3b521066088a5ccbf34ef5070d1d.tar.lz hypervideo-pre-bbeacff7fcaa3b521066088a5ccbf34ef5070d1d.tar.xz hypervideo-pre-bbeacff7fcaa3b521066088a5ccbf34ef5070d1d.zip |
[networking] Ignore invalid proxies in env (#7704)
Authored by: coletdjnz
Diffstat (limited to 'yt_dlp/networking/common.py')
-rw-r--r-- | yt_dlp/networking/common.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/yt_dlp/networking/common.py b/yt_dlp/networking/common.py index ab26a0628..3164df49b 100644 --- a/yt_dlp/networking/common.py +++ b/yt_dlp/networking/common.py @@ -262,9 +262,13 @@ class RequestHandler(abc.ABC): # Skip proxy scheme checks continue - # Scheme-less proxies are not supported - if urllib.request._parse_proxy(proxy_url)[0] is None: - raise UnsupportedRequest(f'Proxy "{proxy_url}" missing scheme') + try: + if urllib.request._parse_proxy(proxy_url)[0] is None: + # Scheme-less proxies are not supported + raise UnsupportedRequest(f'Proxy "{proxy_url}" missing scheme') + except ValueError as e: + # parse_proxy may raise on some invalid proxy urls such as "/a/b/c" + raise UnsupportedRequest(f'Invalid proxy url "{proxy_url}": {e}') scheme = urllib.parse.urlparse(proxy_url).scheme.lower() if scheme not in self._SUPPORTED_PROXY_SCHEMES: |