-
-
Notifications
You must be signed in to change notification settings - Fork 5.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Fifa] 403: Forbidden #5839
Labels
patch-available
There is patch available that should fix this issue. Someone needs to make a PR with it
site-bug
Issue with a specific website
Comments
Re-porting from the WIP yt-dl back-port (patch against yt-dlp 2022.11.22): --- old/yt_dlp/extractor/fifa.py
+++ new/yt_dlp/extractor/fifa.py
@@ -17,7 +17,7 @@
'description': 'md5:f4520d0ee80529c8ba4134a7d692ff8b',
'ext': 'mp4',
'categories': ['FIFA Tournaments'],
- 'thumbnail': 'https://digitalhub.fifa.com/transform/fa6f0b3e-a2e9-4cf7-9f32-53c57bcb7360/2006_Final_ITA_FRA',
+ 'thumbnail': 'https://digitalhub.fifa.com/transform/135e2656-3a51-407b-8810-6c34bec5b59b/FMR_2006_Italy_France_Final_Hero',
'duration': 8165,
},
'params': {'skip_download': 'm3u8'},
@@ -54,7 +54,7 @@
webpage = self._download_webpage(url, video_id)
preconnect_link = self._search_regex(
- r'<link[^>]+rel\s*=\s*"preconnect"[^>]+href\s*=\s*"([^"]+)"', webpage, 'Preconnect Link')
+ r'<link\b[^>]+\brel\s*=\s*"preconnect"[^>]+href\s*=\s*"([^"]+)"', webpage, 'Preconnect Link')
video_details = self._download_json(
f'{preconnect_link}/sections/videoDetails/{video_id}', video_id, 'Downloading Video Details', fatal=False)
@@ -62,22 +62,12 @@
preplay_parameters = self._download_json(
f'{preconnect_link}/videoPlayerData/{video_id}', video_id, 'Downloading Preplay Parameters')['preplayParameters']
- cid = preplay_parameters['contentId']
content_data = self._download_json(
- f'https://content.uplynk.com/preplay/{cid}/multiple.json', video_id, 'Downloading Content Data', query={
- 'v': preplay_parameters['preplayAPIVersion'],
- 'tc': preplay_parameters['tokenCheckAlgorithmVersion'],
- 'rn': preplay_parameters['randomNumber'],
- 'exp': preplay_parameters['tokenExpirationDate'],
- 'ct': preplay_parameters['contentType'],
- 'cid': cid,
- 'mbtracks': preplay_parameters['tracksAssetNumber'],
- 'ad': preplay_parameters['adConfiguration'],
- 'ad.preroll': int(preplay_parameters['adPreroll']),
- 'ad.cmsid': preplay_parameters['adCMSSourceId'],
- 'ad.vid': preplay_parameters['adSourceVideoID'],
- 'sig': preplay_parameters['signature'],
- })
+ # 1. query string is expected to be sent as-is
+ # 2. `sig` must be appended
+ # 3. if absent, the call appears to work but the manifest is bad (404)
+ 'https://content.uplynk.com/preplay/{contentId}/multiple.json?{queryStr}&sig={signature}'.format(**preplay_parameters),
+ video_id, 'Downloading Content Data')
formats, subtitles = self._extract_m3u8_formats_and_subtitles(content_data['playURL'], video_id)
|
bashonly
added
patch-available
There is patch available that should fix this issue. Someone needs to make a PR with it
and removed
triage
Untriaged issue
labels
Dec 20, 2022
Tested and approved! It's clearly simpler, nice one. |
9 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
patch-available
There is patch available that should fix this issue. Someone needs to make a PR with it
site-bug
Issue with a specific website
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
Checklist
Region
No response
Provide a description that is worded well enough to be understood
I wanted to watch some videos from fifa's website, but I have been rejected!
After some investigations, it seems they added few parameters in the queryString to retrieve the playURL (
ad.sid
&ad.ppid
)The expected value is available in the session cookie
ffsid
. I don't know how to access a cookie from an extractor, so I wasn't able to test it.I am curious to see how you will fix it =)
Provide verbose output that clearly demonstrates the problem
yt-dlp -vU <your command line>
)[debug] Command-line config
) and insert it belowComplete Verbose Output
The text was updated successfully, but these errors were encountered: