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 .common import InfoExtractor
|
||||||
from ..utils import smuggle_url
|
from ..utils import smuggle_url
|
||||||
|
from ..compat import compat_urllib_parse
|
||||||
|
|
||||||
|
|
||||||
class HistoryIE(InfoExtractor):
|
class HistoryIE(InfoExtractor):
|
||||||
@ -19,13 +20,21 @@ class HistoryIE(InfoExtractor):
|
|||||||
'add_ie': ['ThePlatform'],
|
'add_ie': ['ThePlatform'],
|
||||||
}]
|
}]
|
||||||
|
|
||||||
|
_VIDEO_URL_RE = [
|
||||||
|
r"media_url\s*=\s*'[^']'",
|
||||||
|
r'data-mediaurl="([^"]+)"'
|
||||||
|
]
|
||||||
|
|
||||||
def _real_extract(self, url):
|
def _real_extract(self, url):
|
||||||
video_id = self._match_id(url)
|
video_id = self._match_id(url)
|
||||||
|
|
||||||
webpage = self._download_webpage(url, video_id)
|
webpage = self._download_webpage(url, video_id)
|
||||||
|
|
||||||
video_url = self._search_regex(
|
media_url = self._search_regex(self._VIDEO_URL_RE, webpage, 'video url')
|
||||||
r'data-href="[^"]*/%s"[^>]+data-release-url="([^"]+)"' % video_id,
|
|
||||||
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):
|
class ThePlatformIE(ThePlatformBaseIE):
|
||||||
_VALID_URL = r'''(?x)
|
_VALID_URL = r'''(?x)
|
||||||
(?:https?://(?:link|player)\.theplatform\.com/[sp]/(?P<provider_id>[^/]+)/
|
(?: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>[^/\?&]+)'''
|
|theplatform:)(?P<id>[^/\?&]+)'''
|
||||||
|
|
||||||
_TESTS = [{
|
_TESTS = [{
|
||||||
|
Loading…
Reference in New Issue
Block a user