|
@@ -1771,10 +1771,21 @@ def match_filter_func(filter_str):
|
|
|
|
|
|
|
|
|
class PerRequestProxyHandler(compat_urllib_request.ProxyHandler):
|
|
|
+ def __init__(self, proxies=None):
|
|
|
+ # Set default handlers
|
|
|
+ for type in ('http', 'https'):
|
|
|
+ setattr(self, '%s_open' % type,
|
|
|
+ lambda r, proxy='__noproxy__', type=type, meth=self.proxy_open:
|
|
|
+ meth(r, proxy, type))
|
|
|
+ return compat_urllib_request.ProxyHandler.__init__(self, proxies)
|
|
|
+
|
|
|
def proxy_open(self, req, proxy, type):
|
|
|
- req_proxy = req.headers.get('Ytdl-Request-Proxy')
|
|
|
+ req_proxy = req.headers.get('Ytdl-request-proxy')
|
|
|
if req_proxy is not None:
|
|
|
proxy = req_proxy
|
|
|
- del req.headers['Ytdl-Request-Proxy']
|
|
|
+ del req.headers['Ytdl-request-proxy']
|
|
|
+
|
|
|
+ if proxy == '__noproxy__':
|
|
|
+ return None # No Proxy
|
|
|
return compat_urllib_request.ProxyHandler.proxy_open(
|
|
|
self, req, proxy, type)
|