diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2014-08-24 01:31:35 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2014-08-24 01:31:35 +0200 |
commit | d769be6c96ebca432a076670a0ed4e72aec101c1 (patch) | |
tree | b48af039ea19d4e9bf990a042a45e41eb2f5c5b8 /youtube_dl/downloader | |
parent | 00558d94145f97c644e66ec086fa9b9d8c58280f (diff) |
[grooveshark,http] Make HTTP POST downloads work
Diffstat (limited to 'youtube_dl/downloader')
-rw-r--r-- | youtube_dl/downloader/http.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/youtube_dl/downloader/http.py b/youtube_dl/downloader/http.py index f79e6a995..d01d1897e 100644 --- a/youtube_dl/downloader/http.py +++ b/youtube_dl/downloader/http.py @@ -27,8 +27,16 @@ class HttpFD(FileDownloader): headers['Youtubedl-user-agent'] = info_dict['user_agent'] if 'http_referer' in info_dict: headers['Referer'] = info_dict['http_referer'] - basic_request = compat_urllib_request.Request(url, None, headers) - request = compat_urllib_request.Request(url, None, headers) + add_headers = info_dict.get('http_headers') + if add_headers: + headers.update(add_headers) + data = info_dict.get('http_post_data') + http_method = info_dict.get('http_method') + basic_request = compat_urllib_request.Request(url, data, headers) + request = compat_urllib_request.Request(url, data, headers) + if http_method is not None: + basic_request.get_method = lambda: http_method + request.get_method = lambda: http_method is_test = self.params.get('test', False) |