[MiTele] Failed to download m3u8 information: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>) #11106
Closed
Description
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
- I understand that I will be blocked if I intentionally remove or skip any mandatory* field
Checklist
- I'm reporting that yt-dlp is broken on a supported siteI've verified that I have updated yt-dlp to nightly or master (update instructions)I've checked that all provided URLs are playable in a browser with the same IP and same login detailsI've checked that all URLs and arguments with special characters are properly quoted or escapedI've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicatesI've read the guidelines for opening an issueI've read about sharing account credentials and I'm willing to share it if required
Region
US
Provide a description that is worded well enough to be understood
Site is geo-restricted however, using Spain IP worked well before. Issue is not fixed with the [telecinco] fix. Error message is Failed to download m3u8 information: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)
Provide verbose output that clearly demonstrates the problem
- Run your yt-dlp command with -vU flag added (
yt-dlp -vU <your command line>
)If using API, add'verbose': True
toYoutubeDL
params insteadCopy the WHOLE output (starting with[debug] Command-line config
) and insert it below
Complete Verbose Output
yt-dlp -vU https://www.mitele.es/programas-tv/de-viernes/temporada-1/programa-44-40_013481363/player/
[debug] Command-line config: ['-vU', 'https://www.mitele.es/programas-tv/de-viernes/temporada-1/programa-44-40_013481363/player/']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds [eabb4680f] (zip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-6.8.0-45-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, requests-2.25.1, secretstorage-3.3.1, sqlite3-3.37.2, urllib3-1.26.5, websockets-9.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1838 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version: nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date (nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds)
[MiTele] Extracting URL: https://www.mitele.es/programas-tv/de-viernes/temporada-1/programa-44-40_013481363/player/
[MiTele] programa-44-40_013481363: Downloading webpage
[MiTele] 788908f4-0e96-47e2-baa7-e701beecbeb3: Downloading config JSON
[MiTele] 788908f4-0e96-47e2-baa7-e701beecbeb3: Downloading JSON metadata
[MiTele] 788908f4-0e96-47e2-baa7-e701beecbeb3: Downloading JSON metadata
[MiTele] 788908f4-0e96-47e2-baa7-e701beecbeb3: Downloading JSON metadata
[MiTele] 788908f4-0e96-47e2-baa7-e701beecbeb3: Downloading m3u8 information
ERROR: [MiTele] programa-44-40_013481363: Failed to download m3u8 information: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 741, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/mitele.py", line 67, in _real_extract
video_info = self._parse_content(pre_player['video'], url)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/telecinco.py", line 102, in _parse_content
formats = self._extract_m3u8_formats(
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 2031, in _extract_m3u8_formats
fmts, subs = self._extract_m3u8_formats_and_subtitles(*args, **kwargs)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 2053, in _extract_m3u8_formats_and_subtitles
res = self._download_webpage_handle(
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 961, in _download_webpage_handle
urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data,
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 910, in _request_webpage
raise ExtractorError(errmsg, cause=err)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_urllib.py", line 398, in _send
res = opener.open(urllib_req, timeout=self._calculate_timeout(request))
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 897, in _request_webpage
return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query, extensions))
File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4165, in urlopen
return self._request_director.send(req)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 117, in send
response = handler.send(request)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_helper.py", line 208, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 340, in send
return self._send(request)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_urllib.py", line 403, in _send
raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: Forbidden
Activity
bashonly commentedon Sep 27, 2024
Does the video play in your browser with DRM disabled?
Ayyushiii commentedon Sep 27, 2024
WW550 commentedon Sep 27, 2024
seproDev commentedon Sep 27, 2024
The question is not if you need to change settings, but if you can play it with DRM disabled. Most browser have DRM enabled by default. yt-dlp can not and will not support DRM protected content.
If the video doesn't play with DRM disabled it can not be supported by yt-dlp.
WW550 commentedon Sep 27, 2024
For the URL originally reported in this issue, DRM must be enabled however, also within MiTele, another two different videos play in-browser without DRM (DRM disabled) but yt-dlp fails with the same error. See output for both URLs below.
yt-dlp -vU https://www.mitele.es/programas-tv/cuarto-milenio/temporada-20/programa-800-40_013383290/player/
[debug] Command-line config: ['-vU', 'https://www.mitele.es/programas-tv/cuarto-milenio/temporada-20/programa-800-40_013383290/player/']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds [eabb468] (zip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-6.8.0-45-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, requests-2.25.1, secretstorage-3.3.1, sqlite3-3.37.2, urllib3-1.26.5, websockets-9.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1838 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version: nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date (nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds)
[MiTele] Extracting URL: https://www.mitele.es/programas-tv/cuarto-milenio/temporada-20/programa-800-40_013383290/player/
[MiTele] programa-800-40_013383290: Downloading webpage
[MiTele] 6e622b72-51b4-4248-8c48-98aad9964cb4: Downloading config JSON
[MiTele] 6e622b72-51b4-4248-8c48-98aad9964cb4: Downloading JSON metadata
[MiTele] 6e622b72-51b4-4248-8c48-98aad9964cb4: Downloading JSON metadata
[MiTele] 6e622b72-51b4-4248-8c48-98aad9964cb4: Downloading JSON metadata
[MiTele] 6e622b72-51b4-4248-8c48-98aad9964cb4: Downloading m3u8 information
ERROR: [MiTele] programa-800-40_013383290: Failed to download m3u8 information: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 741, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/mitele.py", line 67, in _real_extract
video_info = self._parse_content(pre_player['video'], url)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/telecinco.py", line 102, in _parse_content
formats = self._extract_m3u8_formats(
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 2031, in _extract_m3u8_formats
fmts, subs = self._extract_m3u8_formats_and_subtitles(*args, **kwargs)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 2053, in _extract_m3u8_formats_and_subtitles
res = self._download_webpage_handle(
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 961, in _download_webpage_handle
urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data,
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 910, in _request_webpage
raise ExtractorError(errmsg, cause=err)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_urllib.py", line 398, in _send
res = opener.open(urllib_req, timeout=self._calculate_timeout(request))
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 897, in _request_webpage
return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query, extensions))
File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4165, in urlopen
return self._request_director.send(req)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 117, in send
response = handler.send(request)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_helper.py", line 208, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 340, in send
return self._send(request)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_urllib.py", line 403, in _send
raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: Forbidden
yt-dlp -vU https://www.mitele.es/programas-tv/horizonte/temporada-5/programa-171-40_013480051/player/
[debug] Command-line config: ['-vU', 'https://www.mitele.es/programas-tv/horizonte/temporada-5/programa-171-40_013480051/player/']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds [eabb468] (zip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-6.8.0-45-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.11.0, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, requests-2.25.1, secretstorage-3.3.1, sqlite3-3.37.2, urllib3-1.26.5, websockets-9.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1838 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest
Latest version: nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date (nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds)
[MiTele] Extracting URL: https://www.mitele.es/programas-tv/horizonte/temporada-5/programa-171-40_013480051/player/
[MiTele] programa-171-40_013480051: Downloading webpage
[MiTele] 7adbe22e-cd41-4787-afa4-36f3da7c2c6f: Downloading config JSON
[MiTele] 7adbe22e-cd41-4787-afa4-36f3da7c2c6f: Downloading JSON metadata
[MiTele] 7adbe22e-cd41-4787-afa4-36f3da7c2c6f: Downloading JSON metadata
[MiTele] 7adbe22e-cd41-4787-afa4-36f3da7c2c6f: Downloading JSON metadata
[MiTele] 7adbe22e-cd41-4787-afa4-36f3da7c2c6f: Downloading m3u8 information
ERROR: [MiTele] programa-171-40_013480051: Failed to download m3u8 information: HTTP Error 403: Forbidden (caused by <HTTPError 403: Forbidden>)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 741, in extract
ie_result = self._real_extract(url)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/mitele.py", line 67, in _real_extract
video_info = self._parse_content(pre_player['video'], url)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/telecinco.py", line 102, in _parse_content
formats = self._extract_m3u8_formats(
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 2031, in _extract_m3u8_formats
fmts, subs = self._extract_m3u8_formats_and_subtitles(*args, **kwargs)
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 2053, in _extract_m3u8_formats_and_subtitles
res = self._download_webpage_handle(
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 961, in _download_webpage_handle
urlh = self._request_webpage(url_or_request, video_id, note, errnote, fatal, data=data,
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 910, in _request_webpage
raise ExtractorError(errmsg, cause=err)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_urllib.py", line 398, in _send
res = opener.open(urllib_req, timeout=self._calculate_timeout(request))
File "/usr/lib/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 403: Forbidden
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 897, in _request_webpage
return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query, extensions))
File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4165, in urlopen
return self._request_director.send(req)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 117, in send
response = handler.send(request)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_helper.py", line 208, in wrapper
return func(self, *args, **kwargs)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/common.py", line 340, in send
return self._send(request)
File "/usr/local/bin/yt-dlp/yt_dlp/networking/_urllib.py", line 403, in _send
raise HTTPError(UrllibResponseAdapter(e.fp), redirect_loop='redirect error' in str(e)) from e
yt_dlp.networking.exceptions.HTTPError: HTTP Error 403: Forbidden
My current version of yt-dlp (nightly):
Latest version: nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds
yt-dlp is up to date (nightly@2024.09.26.232938 from yt-dlp/yt-dlp-nightly-builds)
nadal28 commentedon Sep 30, 2024
This is happening to me too now
DarkZeros commentedon Oct 1, 2024
This issue should be fixed with #11142, please check if it does
WW550 commentedon Oct 1, 2024
How can I test with MiTele? I see #11142 has 1 file changed which is for telecinco only. Please advise.
https://github.com/yt-dlp/yt-dlp/pull/11142/files
DarkZeros commentedon Oct 1, 2024
Mitele.py calls telecinco.py as part of the process. Only with that change should be enough. To test just use git clone to clone the branch and run ./yt-dlp.sh or build it first and use the executable
nadal28 commentedon Oct 1, 2024
still the same issue:
DarkZeros commentedon Oct 2, 2024
Strange, I was able to download. Check that you have the same git head. Mine is this one. Also check that your IP is not geo blocked.
17 remaining items