X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Futils.py;h=1dc3153fd901e8fef6241e747f863a52a221e12d;hb=98e1c935a1ed676ca747c04c28d98370f740cadc;hp=7cf91ac192f89cf75e6d75869b3ee12976e2ada3;hpb=ad7291727499590a9449b1e3ba3d7a33b733ddd0;p=youtube-dl diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 7cf91ac19..1dc3153fd 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -619,7 +619,7 @@ def _create_http_connection(ydl_handler, http_class, is_https, *args, **kwargs): # expected HTTP responses to meet HTTP/1.0 or later (see also # https://github.com/rg3/youtube-dl/issues/6727) if sys.version_info < (3, 0): - kwargs['strict'] = True + kwargs[b'strict'] = True hc = http_class(*args, **kwargs) source_address = ydl_handler._params.get('source_address') if source_address is not None: @@ -793,16 +793,14 @@ class YoutubeDLCookieProcessor(compat_urllib_request.HTTPCookieProcessor): # https://github.com/rg3/youtube-dl/issues/6769). # In order to at least prevent crashing we will percent encode Set-Cookie # header before HTTPCookieProcessor starts processing it. - if sys.version_info < (3, 0) and response.headers: - for set_cookie_header in ('Set-Cookie', 'Set-Cookie2'): - set_cookie = response.headers.get(set_cookie_header) - if set_cookie: - set_cookie_escaped = '; '.join([ - escape_rfc3986(cookie_attr.strip()) - for cookie_attr in set_cookie.decode('iso-8859-1').split(';')]).encode('iso-8859-1') - if set_cookie != set_cookie_escaped: - del response.headers[set_cookie_header] - response.headers[set_cookie_header] = set_cookie_escaped + # if sys.version_info < (3, 0) and response.headers: + # for set_cookie_header in ('Set-Cookie', 'Set-Cookie2'): + # set_cookie = response.headers.get(set_cookie_header) + # if set_cookie: + # set_cookie_escaped = compat_urllib_parse.quote(set_cookie, b"%/;:@&=+$,!~*'()?#[] ") + # if set_cookie != set_cookie_escaped: + # del response.headers[set_cookie_header] + # response.headers[set_cookie_header] = set_cookie_escaped return compat_urllib_request.HTTPCookieProcessor.http_response(self, request, response) https_request = compat_urllib_request.HTTPCookieProcessor.http_request @@ -1638,6 +1636,10 @@ def urlencode_postdata(*args, **kargs): return compat_urllib_parse.urlencode(*args, **kargs).encode('ascii') +def encode_dict(d, encoding='utf-8'): + return dict((k.encode(encoding), v.encode(encoding)) for k, v in d.items()) + + try: etree_iter = xml.etree.ElementTree.Element.iter except AttributeError: # Python <=2.6