Skip to content
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

Tele-Quebec broken (403 error) #24255

Closed
ptoulouse opened this issue Mar 5, 2020 · 5 comments
Closed

Tele-Quebec broken (403 error) #24255

ptoulouse opened this issue Mar 5, 2020 · 5 comments
Assignees

Comments

@ptoulouse
Copy link

@ptoulouse ptoulouse commented Mar 5, 2020

Checklist

  • [x ] I'm reporting a broken site support
  • [x ] I've verified that I'm running youtube-dl version 2020.03.06
  • [x ] I've checked that all provided URLs are alive and playable in a browser
  • [x ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
  • [x ] I've searched the bugtracker for similar issues including closed ones

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://zonevideo.telequebec.tv/media/51519/au-detour-du-terroir/un-chef-a-la-cabane']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2020.03.06
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: none
[debug] Proxy map: {}
[TeleQuebec] 51519: Downloading JSON metadata
[debug] Using fake IP 99.235.23.177 (CA) as X-Forwarded-For.
[limelight] 2b74f8a94154426bbc2c6901cba56a3e: Downloading PlaylistService getPlaylistByMediaId JSON
[limelight] 2b74f8a94154426bbc2c6901cba56a3e: Downloading API properties JSON
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp6_nk0mi2\build\youtube_dl\extractor\common.py", line 627, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp6_nk0mi2\build\youtube_dl\YoutubeDL.py", line 2238, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

Description

Cannot download episodes from Tele-Quebec "Un Chef à la cabane". It used to work as I downloaded the first 4 episodes of that show in February.

@flabrie
Copy link

@flabrie flabrie commented Mar 6, 2020

Same problem on Mac here, and it was working in February 2020.

@Neolel
Copy link

@Neolel Neolel commented Mar 9, 2020

Same problem on Windows 10 with Youtube-DL 2020.03.08 on https://www.pokemon.com/de/pokemon-folgen/pokemon-tv-staffeln/staffeln-13/. I don't understand the geo-restricted tag because it works in the browser. If it were geo-restricted, it wouldn't work in the browser as well.

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-f', 'best', '--batch-file', 'Staffel13.txt', '-o', 'Pokémon - S%(season_number)02dE%(episode_number)02d - %(title)s.%(ext)s', '--verbose']
[debug] Batch file urls: ['https://www.pokemon.com/de/pokemon-folgen/13_01-kampf-der-titanen/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_02-faust-gegen-faust/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_03-wissenschaft-ist-auch-nicht-alles/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_04-lucia-mit-dem-leuchtstrubbelkopf/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_05-ein-harter-brocken-arbeit/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_06-panpyro-ausser-rand-und-band/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_07-die-pokemon-rettungstruppe/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_08-ein-ansteckendes-feuer/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_09-der-fliegende-turm-von-sonnewik/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_10-wenn-der-lehrer-von-den-schuelern-lernt/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_11-heiss-heisser-heatran/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_12-auf-die-form-kommt-es-an/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_13-die-kunst-des-beobachtens/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_14-prinzessin-fuer-einen-tag/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_15-mit-stil-und-eleganz-ab-in-den-kampf/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_16-das-doppelte-ditto/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_17-das-grosse-festival-beginnt/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_18-auf-den-letzten-druecker/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_19-versprochen-ist-versprochen/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_20-die-entscheidung/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_21-mauzi-im-liebesrausch/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_22-ein-kampf-um-alles-oder-nichts/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_23-nur-wer-an-sich-glaubt-kann-auch-gewinnen/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_24-auf-schatzsuche/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_25-die-alte-rasselbande/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_26-das-turnier-ist-eroeffnet/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_27-barrys-grosser-kampf/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_28-den-letzten-beisst-ein-kaumalat/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_29-ash-gegen-paul/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_30-ein-strategiekampf-der-es-in-sich-hat/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_31-ein-gegner-der-respekt-verdient/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_32-unbesiegbar-gibts-nicht/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_33-rockos-bewaehrungsprobe/?play=true', 'https://www.pokemon.com/de/pokemon-folgen/13_34-der-abschied/?play=true']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2020.03.08
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg 4.2.2, ffprobe 4.2.2
[debug] Proxy map: {}
[Pokemon] 13_01-kampf-der-titanen: Downloading webpage
[limelight] 76c28ab31ae94b64a62acccc566fbe89: Downloading PlaylistService getPlaylistByMediaId JSON
[limelight] 76c28ab31ae94b64a62acccc566fbe89: Downloading API properties JSON
ERROR: Unable to download JSON metadata: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp378onz6j\build\youtube_dl\extractor\common.py", line 627, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmp378onz6j\build\youtube_dl\YoutubeDL.py", line 2238, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default
@Yavos
Copy link

@Yavos Yavos commented Mar 9, 2020

The geo-restricted tag is probably because the video of the original issue is geo-restricted and you can't test downloading and fixing the bug that way unless you are in that country.

My assumption is that limelight player changed something and now it doesn't use that API properties JSON anymore causing the plugin to fail.

I'm gonna try fixing it soon for pokemon.com, but I can't test it with telequebec.tv myself.

[edit] old API is now deprecated. It apparently took a few days to get disabled: link to deprecation note

[edit 2] new API needs Authentication which basically makes it impossible to get the wanted episode metadata without a limelight account (or even the account from the corresponding organization).
need for Authentication (see method List all properties for a specific media)
Authentication procedure
So I'm gonna stop trying to fix limelight for now.

It should still be possible to extract metadata from the pc and mobile playlists though not as complete and detailed as the API response. Maybe that might suffice for now.

@Yavos
Copy link

@Yavos Yavos commented Mar 9, 2020

Temporary fix that works with pokemon.com and also might work with telequebec.tv (It requires to fill the metadata by the calling plugin with '_type' = 'url_transparent' set in the returned data which both mentioned plugins already do.)

replace line 89 in limelight.py containing

        metadata = self._call_api(pc['orgId'], item_id, meta_method)

with the following code

        metadata = {}
        metadata['media_id'] = item_id
        metadata['title'] = pc.get('title') or 'no title found'

This is a temporary fix and no pull request because I don't know which plugins it will break (even more).

@flabrie
Copy link

@flabrie flabrie commented Mar 10, 2020

I can confirm that your fix works for telequebec.tv as well!

@remitamine remitamine self-assigned this Mar 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.