Explorar o código

[utils] Always decode Location header

escape_url is broken for bytes-like objects
Yen Chi Hsuan %!s(int64=9) %!d(string=hai) anos
pai
achega
0ea590076f
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      youtube_dl/utils.py

+ 2 - 0
youtube_dl/utils.py

@@ -861,6 +861,8 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler):
                 # As of RFC 2616 default charset is iso-8859-1 that is respected by python 3
                 if sys.version_info >= (3, 0):
                     location = location.encode('iso-8859-1').decode('utf-8')
+                else:
+                    location = location.decode('utf-8')
                 location_escaped = escape_url(location)
                 if location != location_escaped:
                     del resp.headers['Location']