aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/downloader
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2014-08-24 01:31:35 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2014-08-24 01:31:35 +0200
commitd769be6c96ebca432a076670a0ed4e72aec101c1 (patch)
treeb48af039ea19d4e9bf990a042a45e41eb2f5c5b8 /youtube_dl/downloader
parent00558d94145f97c644e66ec086fa9b9d8c58280f (diff)
[grooveshark,http] Make HTTP POST downloads work
Diffstat (limited to 'youtube_dl/downloader')
-rw-r--r--youtube_dl/downloader/http.py12
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)