Repository: yt-dlp
Issue: Support for starwars.com
Labels: site-bug

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm reporting a new site support request
- [X] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that none of provided URLs [violate any copyrights](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-the-website-primarily-used-for-piracy) or contain any [DRM](https://en.wikipedia.org/wiki/Digital_rights_management) to the best of my knowledge
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues **including closed ones**. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [ ] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and am willing to share it if required

### Region

Worldwide

### Example URLs

- Single video: https://www.starwars.com/video/trailer-the-bad-batch


### Provide a description that is worded well enough to be understood

In March 2024 I was able to download any video from https://www.starwars.com/video/ with yt-dlp even though it is not on the supported sites list. Recently I found out it no longer works, I get an error:

ERROR: [Disney] Unable to download webpage: HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0) (caused by TransportError("HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0)"))

I am still able to download videos from Disney however ( https://ondisneyplus.disney.com )

As far as I can see, starwars.com does in fact use Disney servers.

Here's a link to a video that I can download with yt-dlp from Disney (second from last on https://ondisneyplus.disney.com/show/star-wars-the-bad-batch ):
https://video.disney.com/watch/star-wars-the-bad-batch-official-trailer-disney-5bec30e18976cebd6b4f2a72

The same video is on starwars.com, but I get the above mentioned error when I try to download it (second from last when you click on "The Bad Batch" on https://www.starwars.com/video ):
https://www.starwars.com/video/trailer-the-bad-batch

Videos can be successfully downloaded from starwars.com using the Firefox extension Video DownloadHelper, but I prefer and need to use yt-dlp.


### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [ ] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
yt-dlp.exe https://www.starwars.com/video/trailer-the-bad-batch -vU
[debug] Command-line config: ['https://www.starwars.com/video/trailer-the-bad-batch', '-vU']
[debug] Encodings: locale cp1251, fs utf-8, pref cp1251, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2024.10.07 from yt-dlp/yt-dlp [1a176d874] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 6.1-full_build-www.gyan.dev (setts), ffprobe 6.1-full_build-www.gyan.dev, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, curl_cffi-0.5.10, mutagen-1.47.0, requests-2.32.3, sqlite3-3.35.5, urllib3-2.2.3, websockets-13.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1838 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2024.10.07 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2024.10.07 from yt-dlp/yt-dlp)
[Disney] Extracting URL: https://www.starwars.com/video/trailer-the-bad-batch
[Disney] trailer-the-bad-batch: Downloading webpage
ERROR: [Disney] Unable to download webpage: HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0) (caused by TransportError("HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0)"))
  File "yt_dlp\extractor\common.py", line 741, in extract
  File "yt_dlp\extractor\disney.py", line 79, in _real_extract
  File "yt_dlp\extractor\common.py", line 1200, in _download_webpage
  File "yt_dlp\extractor\common.py", line 1151, in download_content
  File "yt_dlp\extractor\common.py", line 961, in _download_webpage_handle
  File "yt_dlp\extractor\common.py", line 910, in _request_webpage

  File "urllib3\connectionpool.py", line 536, in _make_request
  File "urllib3\connection.py", line 507, in getresponse
  File "http\client.py", line 1344, in getresponse
  File "http\client.py", line 307, in begin
  File "http\client.py", line 268, in _read_status
  File "socket.py", line 669, in readinto
  File "ssl.py", line 1241, in recv_into
  File "ssl.py", line 1099, in read
socket.timeout: The read operation timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "requests\adapters.py", line 667, in send
  File "urllib3\connectionpool.py", line 843, in urlopen
  File "urllib3\util\retry.py", line 449, in increment
  File "urllib3\util\util.py", line 39, in reraise
  File "urllib3\connectionpool.py", line 789, in urlopen
  File "urllib3\connectionpool.py", line 538, in _make_request
  File "urllib3\connectionpool.py", line 369, in _raise_timeout
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "yt_dlp\networking\_requests.py", line 328, in _send
  File "requests\sessions.py", line 589, in request
  File "requests\sessions.py", line 703, in send
  File "requests\adapters.py", line 713, in send
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "yt_dlp\extractor\common.py", line 897, in _request_webpage
  File "yt_dlp\YoutubeDL.py", line 4172, in urlopen
  File "yt_dlp\networking\common.py", line 117, in send
  File "yt_dlp\networking\_helper.py", line 208, in wrapper
  File "yt_dlp\networking\common.py", line 340, in send
  File "yt_dlp\networking\_requests.py", line 352, in _send
yt_dlp.networking.exceptions.TransportError: HTTPSConnectionPool(host='www.starwars.com', port=443): Read timed out. (read timeout=20.0)
```