aboutsummaryrefslogtreecommitdiffstats
path: root/youtube_dl/extractor/theplatform.py
diff options
context:
space:
mode:
authorSergey M․ <dstftw@gmail.com>2015-12-08 21:15:45 +0600
committerSergey M․ <dstftw@gmail.com>2015-12-08 21:15:45 +0600
commit18e4088fad97de0d79e29e0a49a0df3ce719a441 (patch)
treede09f8657143a746b4dc5d8185fdd8a9ef2c002d /youtube_dl/extractor/theplatform.py
parent3d24bbfbe433e3a2b2257096264bf4e846f6d889 (diff)
downloadyoutube-dl-18e4088fad97de0d79e29e0a49a0df3ce719a441.zip
youtube-dl-18e4088fad97de0d79e29e0a49a0df3ce719a441.tar.gz
youtube-dl-18e4088fad97de0d79e29e0a49a0df3ce719a441.tar.bz2
[theplatform] Add support for referer protected videos wuth explicit SMIL
Diffstat (limited to 'youtube_dl/extractor/theplatform.py')
-rw-r--r--youtube_dl/extractor/theplatform.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/youtube_dl/extractor/theplatform.py b/youtube_dl/extractor/theplatform.py
index 1555aa7..0bf6726 100644
--- a/youtube_dl/extractor/theplatform.py
+++ b/youtube_dl/extractor/theplatform.py
@@ -16,11 +16,12 @@ from ..compat import (
from ..utils import (
determine_ext,
ExtractorError,
- xpath_with_ns,
- unsmuggle_url,
+ float_or_none,
int_or_none,
+ sanitized_Request,
+ unsmuggle_url,
url_basename,
- float_or_none,
+ xpath_with_ns,
)
default_ns = 'http://www.w3.org/2005/SMIL21/Language'
@@ -204,7 +205,12 @@ class ThePlatformIE(ThePlatformBaseIE):
smil_url = url
# Explicitly specified SMIL (see https://github.com/rg3/youtube-dl/issues/7385)
elif '/guid/' in url:
- webpage = self._download_webpage(url, video_id)
+ headers = {}
+ source_url = smuggled_data.get('source_url')
+ if source_url:
+ headers['Referer'] = source_url
+ request = sanitized_Request(url, headers=headers)
+ webpage = self._download_webpage(request, video_id)
smil_url = self._search_regex(
r'<link[^>]+href=(["\'])(?P<url>.+?)\1[^>]+type=["\']application/smil\+xml',
webpage, 'smil url', group='url')