Browse Source

[YoutubeDL] Do not loose request method information

Sergey M․ 10 years ago
parent
commit
931bc3c3a7
1 changed files with 3 additions and 1 deletions
  1. 3 1
      youtube_dl/YoutubeDL.py

+ 3 - 1
youtube_dl/YoutubeDL.py

@@ -49,6 +49,7 @@ from .utils import (
     ExtractorError,
     ExtractorError,
     format_bytes,
     format_bytes,
     formatSeconds,
     formatSeconds,
+    HEADRequest,
     locked_file,
     locked_file,
     make_HTTPS_handler,
     make_HTTPS_handler,
     MaxDownloadsReached,
     MaxDownloadsReached,
@@ -1720,7 +1721,8 @@ class YoutubeDL(object):
             if req_is_string:
             if req_is_string:
                 req = url_escaped
                 req = url_escaped
             else:
             else:
-                req = compat_urllib_request.Request(
+                req_type = HEADRequest if req.get_method() == 'HEAD' else compat_urllib_request.Request
+                req = req_type(
                     url_escaped, data=req.data, headers=req.headers,
                     url_escaped, data=req.data, headers=req.headers,
                     origin_req_host=req.origin_req_host, unverifiable=req.unverifiable)
                     origin_req_host=req.origin_req_host, unverifiable=req.unverifiable)