mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-25 06:06:55 +01:00
[history] fix signature and media url extraction(fixes #8240)
This commit is contained in:
parent
345f12196c
commit
ffbc0baf72
@ -2,6 +2,7 @@
|
||||
|
||||
from .common import InfoExtractor
|
||||
from ..utils import smuggle_url
|
||||
from ..compat import compat_urllib_parse
|
||||
|
||||
|
||||
class HistoryIE(InfoExtractor):
|
||||
@ -19,13 +20,21 @@ class HistoryIE(InfoExtractor):
|
||||
'add_ie': ['ThePlatform'],
|
||||
}]
|
||||
|
||||
_VIDEO_URL_RE = [
|
||||
r"media_url\s*=\s*'[^']'",
|
||||
r'data-mediaurl="([^"]+)"'
|
||||
]
|
||||
|
||||
def _real_extract(self, url):
|
||||
video_id = self._match_id(url)
|
||||
|
||||
webpage = self._download_webpage(url, video_id)
|
||||
|
||||
video_url = self._search_regex(
|
||||
r'data-href="[^"]*/%s"[^>]+data-release-url="([^"]+)"' % video_id,
|
||||
webpage, 'video url')
|
||||
media_url = self._search_regex(self._VIDEO_URL_RE, webpage, 'video url')
|
||||
|
||||
return self.url_result(smuggle_url(video_url, {'sig': {'key': 'crazyjava', 'secret': 's3cr3t'}}))
|
||||
pdk_signature = webpage = self._download_webpage(
|
||||
'https://signature.video.aetndigital.com/?' +
|
||||
compat_urllib_parse.urlencode({'url': media_url}), video_id)
|
||||
|
||||
return self.url_result(smuggle_url(
|
||||
media_url + '?mbr=true&format=smil&sig=' + pdk_signature, {'force_smil_url': True}))
|
||||
|
@ -85,7 +85,7 @@ def get_metadata(self, path, video_id):
|
||||
class ThePlatformIE(ThePlatformBaseIE):
|
||||
_VALID_URL = r'''(?x)
|
||||
(?:https?://(?:link|player)\.theplatform\.com/[sp]/(?P<provider_id>[^/]+)/
|
||||
(?:(?P<media>(?:[^/]+/)+select/media/)|(?P<config>(?:[^/\?]+/(?:swf|config)|onsite)/select/))?
|
||||
(?:(?P<media>(?:(?:[^/]+/)+select/)?media/)|(?P<config>(?:[^/\?]+/(?:swf|config)|onsite)/select/))?
|
||||
|theplatform:)(?P<id>[^/\?&]+)'''
|
||||
|
||||
_TESTS = [{
|
||||
|
Loading…
Reference in New Issue
Block a user