From b115b1f392d357ea4699391b8618569e324a800e Mon Sep 17 00:00:00 2001 From: "U-TQPN6VIPCMWKPWG\\Administrator" <5linhua5@gmail.com> Date: Wed, 13 Jan 2016 14:45:27 +0800 Subject: [PATCH] [youku] fix extractor_proxy option --- src/you_get/extractors/youku.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/you_get/extractors/youku.py b/src/you_get/extractors/youku.py index 8202dd1d..38ceeb0c 100644 --- a/src/you_get/extractors/youku.py +++ b/src/you_get/extractors/youku.py @@ -129,7 +129,15 @@ class Youku(VideoExtractor): ssl_context = request.HTTPSHandler( context=ssl.SSLContext(ssl.PROTOCOL_TLSv1)) cookie_handler = request.HTTPCookieProcessor() - opener = request.build_opener(ssl_context, cookie_handler) + if 'extractor_proxy' in kwargs and kwargs['extractor_proxy']: + proxy = parse_host(kwargs['extractor_proxy']) + proxy_handler = request.ProxyHandler({ + 'http': '%s:%s' % proxy, + 'https': '%s:%s' % proxy, + }) + else: + proxy_handler = request.ProxyHandler({}) + opener = request.build_opener(ssl_context, cookie_handler, proxy_handler) opener.addheaders = [('Cookie','__ysuid={}'.format(time.time()))] request.install_opener(opener) @@ -267,6 +275,7 @@ class Youku(VideoExtractor): fileid = fileid, q = q ) + # unset_proxy() also strips cookies,because k.youku.com doesn't need cookies('r') for now ksegs += [i['server'] for i in json.loads(get_content(u))] except error.HTTPError as e: # Use fallback stream data in case of HTTP 404