summary refs log tree commit diff
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2019-11-05 23:08:42 +0100
committerRemita Amine <remitamine@gmail.com>2019-11-05 23:08:42 +0100
commitd7def23d0539430f5d816f1cfd733e436f62c257 (patch)
tree00c853da3a71a630071501ea606d7ba3d165750e
parentb6139cb0c3635eb96e39973ab288c17a9f104067 (diff)
downloadyoutube-dl-d7def23d0539430f5d816f1cfd733e436f62c257.tar.gz
youtube-dl-d7def23d0539430f5d816f1cfd733e436f62c257.tar.xz
youtube-dl-d7def23d0539430f5d816f1cfd733e436f62c257.zip
[hotstar] pass Referer header to format requests(closes #22836)
-rw-r--r--youtube_dl/extractor/hotstar.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/youtube_dl/extractor/hotstar.py b/youtube_dl/extractor/hotstar.py
index f9f7c5a64..f97eefa3d 100644
--- a/youtube_dl/extractor/hotstar.py
+++ b/youtube_dl/extractor/hotstar.py
@@ -118,6 +118,7 @@ class HotStarIE(HotStarBaseIE):
         if video_data.get('drmProtected'):
             raise ExtractorError('This video is DRM protected.', expected=True)
 
+        headers = {'Referer': url}
         formats = []
         geo_restricted = False
         playback_sets = self._call_api_v2('h/v2/play', video_id)['playBackSets']
@@ -137,10 +138,11 @@ class HotStarIE(HotStarBaseIE):
                 if 'package:hls' in tags or ext == 'm3u8':
                     formats.extend(self._extract_m3u8_formats(
                         format_url, video_id, 'mp4',
-                        entry_protocol='m3u8_native', m3u8_id='hls'))
+                        entry_protocol='m3u8_native',
+                        m3u8_id='hls', headers=headers))
                 elif 'package:dash' in tags or ext == 'mpd':
                     formats.extend(self._extract_mpd_formats(
-                        format_url, video_id, mpd_id='dash'))
+                        format_url, video_id, mpd_id='dash', headers=headers))
                 elif ext == 'f4m':
                     # produce broken files
                     pass
@@ -158,6 +160,9 @@ class HotStarIE(HotStarBaseIE):
             self.raise_geo_restricted(countries=['IN'])
         self._sort_formats(formats)
 
+        for f in formats:
+            f.setdefault('http_headers', {}).update(headers)
+
         return {
             'id': video_id,
             'title': title,