ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.89k stars 10k forks source link

[cbc.ca] Error 402: Payment Required #16764

Open darthhaggis opened 6 years ago

darthhaggis commented 6 years ago

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.06.18. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

Before submitting an issue make sure you have:

What is the purpose of your issue?


If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:

[debug] System config: []
[debug] User config: ['--all-subs', '--sub-format', 'srt', '--convert-subs', 'srt', '--embed-subs', '--merge-output-format', 'mkv', '--recode-video', 'mkv', '--format', 'bestvideo[width<=?1280]+bestaudio/best', '-o', 'D:/Video/Downloads/%(series)s/%(series)s - %(season_number)sx%(episode_number)02d - %(title)s [%(height)s].%(ext)s', '--prefer-ffmpeg', '--ffmpeg-location', 'D:\\Video\\FFMPEG\\bin', '--download-archive', 'D:/Video/Downloads/Archive.txt']
[debug] Custom config: []
[debug] Command-line args: ['https://watch.cbc.ca/media/heartland/season-9/episode-7/38e815a-0094c1b411a', '--username', 'PRIVATE', '-v']
Type account password and press [Return]:
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2018.06.18
[debug] Python version 3.4.4 (CPython) - Windows-8.1-6.3.9600
[debug] exe versions: ffmpeg N-90771-g5079e96bcc, ffprobe N-90771-g5079e96bcc
[debug] Proxy map: {}
[debug] Using fake IP 99.239.129.198 (CA) as X-Forwarded-For.
[cbc.ca:watch] 38e815a-0094c1b411a: Downloading XML
[cbc.ca:watch] 38e815a-0094c1b411a: Downloading XML
[download] Downloading playlist: Fearless
[cbc.ca:watch] playlist Fearless: Collected 1 video ids (downloading 1 of them)
[download] Downloading video 1 of 1
[debug] Using fake IP 99.234.54.159 (CA) as X-Forwarded-For.
[cbc.ca:watch:video] c78f815d-d3ed-4502-871f-da9347e0318a: Downloading XML
ERROR: Unable to download XML: HTTP Error 402: Payment Required (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\rg3\tmpu1zifx01\build\youtube_dl\extractor\common.py", line 579, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpu1zifx01\build\youtube_dl\YoutubeDL.py", line 2211, 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

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.


Description of your issue, suggested solution and other information

Unlike Error 402 for Youtube which typically signifies too many requests, a restricted IP, or a CAPTCHA request, in this situation some of the videos on the site (mainly those not currently being broadcast but instead from a previous season, etc) require a free membership in order to watch them. In this situation, "Error 402: Payment Required" actually seems appropriate in that you need to be logged in to access select files. After trying multiple different options and variables, it appears that the youtube-dl interface is either not passing the login info to the page, or when logged in within the browser, the login info is not being save as a cookie that can be utilised by youtube-dl. Files that don't require logging in to view are easily downloaded. Is there some sort of variable/option that I am missing that would circumvent the issue, or is it just not passing the credentials on to the site at the appropriate time?

mshiels commented 5 years ago

Having looked at the cbc.py code - it does not user/understand a userid/password. I may be trying to update that code since I too download alot from cbc. I pretty well understand the login process, just gotta find time to code/test it.

Triforcecwp commented 5 years ago

This is a feature i would love to see added to youtube-dl @mshiels . unfortunately i do not posses the skill required to do this myself, i guess its something I'm going to have to work towards in the future.

meunierd commented 5 years ago

The token dance is facilitated partly by loginradius

Before submitting a username and password, you need an api key that I haven't been able to locate yet, but once the browser has negotiated the tokens I've been able to inject them into cbc.py and successfully downloaded login gated videos.

meunierd commented 5 years ago

@remitamine can I bug you to take a look at this PR ☝️ ?

meunierd commented 5 years ago

On this branch? Did you clear cache?

makew0rld commented 5 years ago

@Sparktank check out #19160. It hasn't been merged yet, but it has some new code that will download from the CBC for free. Idk about subtitles though.

meunierd commented 5 years ago

I can confirm that subtitles don't work.

makew0rld commented 2 years ago

And login issues are solved now