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.36k stars 9.95k forks source link

400 Bad Request for ITV #32690

Closed YewTreeWeb closed 7 months ago

YewTreeWeb commented 8 months ago

Hi, I'm trying to download https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001 from ITV. I'm in the UK so don't need a VPN and when I originally tried to download with my Homebrew install I just kept getting a timeout. I since found a closed issue raised for ITV saying to use the GitHub master code instead of the current release version. I uninstalled my Homebrew youtube-dl and cloned the repo. Once cloned I ran the command:

python -m youtube_dl 'https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001' --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36' --referer 'https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001'

but I'm getting the error this error everytime:

python -m youtube_dl 'https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001' --user-agent 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36' --referer 'https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001' --verbose
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001', '--user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36', '--referer', 'https://www.itv.com/watch/mr-bates-vs-the-post-office/10a0469/10a0469a0001', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Git HEAD: be008e657
[debug] Python 3.11.7 (CPython arm64 64bit) - macOS-14.2.1-arm64-arm-64bit - OpenSSL 3.2.0 23 Nov 2023
[debug] exe versions: ffmpeg 6.1.1, ffprobe 6.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[ITV] 10a0469a0001: Downloading webpage
[ITV] 10a0469a0001: Downloading JSON metadata
ERROR: Unable to download JSON metadata: HTTP Error 400: Bad Request (caused by <HTTPError 400: 'Bad Request'>); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "/Users/mat/Developer/youtube-dl/youtube_dl/extractor/common.py", line 665, in _request_webpage
    return self._downloader.urlopen(url_or_request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/mat/Developer/youtube-dl/youtube_dl/YoutubeDL.py", line 2461, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 525, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 634, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 563, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

I've never used Python before so I could be doing something wrong. Any advice or help with this would be really appreciated. Thanks

dirkf commented 8 months ago

As far as we know, after a brief period of success, ITVX no longer provides playable content at any resolution.

However, in North Britain there is another ITV company. Try picking up the material from STV instead (WFM).