mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-05 23:11:24 +01:00
Compare commits
No commits in common. "aae42c5f24ae8c4eb9086fe2b3a224be15000697" and "5f58b86d1289f3f106057af0df126a836742c6d9" have entirely different histories.
aae42c5f24
...
5f58b86d12
|
@ -361,7 +361,11 @@ class ARDBetaMediathekIE(InfoExtractor):
|
|||
|
||||
def _real_extract(self, url):
|
||||
display_id = self._match_id(url)
|
||||
query = {'embedded': 'false', 'mcV6': 'true'}
|
||||
|
||||
query = {
|
||||
'embedded': 'false',
|
||||
'mcV6': 'true'
|
||||
}
|
||||
headers = {}
|
||||
|
||||
if self._get_cookies(self._TOKEN_URL).get('ams'):
|
||||
|
@ -369,15 +373,17 @@ class ARDBetaMediathekIE(InfoExtractor):
|
|||
self._TOKEN_URL, display_id, 'Fetching token for age verification',
|
||||
'Unable to fetch age verification token', fatal=False)
|
||||
id_token = traverse_obj(token, ('idToken', {str}))
|
||||
decoded_token = traverse_obj(id_token, ({jwt_decode_hs256}, {dict}))
|
||||
user_id = traverse_obj(decoded_token, (('user_id', 'sub'), {str}), get_all=False)
|
||||
if not user_id:
|
||||
user_id = traverse_obj(id_token, ({jwt_decode_hs256}, ('user_id', 'sub'), {str}), get_all=False)
|
||||
if not id_token or not user_id:
|
||||
self.report_warning('Unable to extract token, continuing without authentication')
|
||||
else:
|
||||
headers['x-authorization'] = f'Bearer {id_token}'
|
||||
query['userId'] = user_id
|
||||
if decoded_token.get('age_rating') != 18:
|
||||
self.report_warning('Account is not verified as 18+; video may be unavailable')
|
||||
|
||||
age_rating = traverse_obj(id_token, ({jwt_decode_hs256}, 'age_rating'), get_all=False)
|
||||
if age_rating != 18:
|
||||
self.report_warning(f'Authenticated age_rating is not 18, but "{age_rating}", '
|
||||
'video might still be blocked')
|
||||
|
||||
page_data = self._download_json(
|
||||
f'https://api.ardmediathek.de/page-gateway/pages/ard/item/{display_id}',
|
||||
|
@ -400,7 +406,9 @@ class ARDBetaMediathekIE(InfoExtractor):
|
|||
media_data = traverse_obj(player_data, ('mediaCollection', 'embedded', {dict}))
|
||||
|
||||
if player_data.get('blockedByFsk'):
|
||||
self.raise_login_required('This video is only available for age verified users or after 22:00')
|
||||
self.raise_login_required(
|
||||
'This video is only available after 22:00, '
|
||||
'try passing cookies a verified account session to enable age verification ')
|
||||
|
||||
formats = []
|
||||
subtitles = {}
|
||||
|
|
Loading…
Reference in New Issue
Block a user