Repository: yt-dlp
Issue: Dropout.tv write-info-json
Labels: account-needed,site-bug,can-share-account

### Checklist

- [X] I'm reporting a site feature request
- [X] I've verified that I'm running yt-dlp version **2021.12.27**. ([update instructions](https://github.com/yt-dlp/yt-dlp#update))
- [X] I've checked that all provided URLs are alive and playable in a browser
- [X] I've searched 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)
- [X] 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 I'm willing to share it if required

### Region

UK

### Example URLs

https://www.dropout.tv/dimension-20/season:1/videos/fantasy-high-live-at-rtx-austin-1
https://www.dropout.tv/dimension-20/season:1/videos/prompocalypse-pt-2
https://www.dropout.tv/dimension-20

### Description

I'm attempting to use yt-dlp to search for and download episodes from a site using [sonarr_yt-dlp](https://github.com/bdwinanto/sonarr_yt-dlp) and came across this error.

I've narrowed it down to a failure to extract playlist information from specific videos within a playlist on dropout.tv, returning error 406.

Downloading the whole playlist as-is works correctly, but this would cause a lot of wasted download time and effort when a single episode is needed.

I'm afraid I don't have any suggestions on how to fix, but I'm happy to work with and provide any additional information as needed.

Any workarounds would also be welcomed. Thanks.

### Verbose log

```shell
$ yt-dlp "https://www.dropout.tv/dimension-20/season:1/videos/fantasy-high-live-at-rtx-austin-1" --username PRIVATE --password PRIVATE --write-info-json --no-download -Uv
[debug] Command-line config: ['https://www.dropout.tv/dimension-20/season:1/videos/fantasy-high-live-at-rtx-austin-1', '--username', 'PRIVATE', '--password', 'PRIVATE', '--write-info-json', '--no-download', '-Uv']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2021.12.27 [6223f67a8]
[debug] Python version 3.10.1 (CPython 64bit) - Linux-5.16.0-arch1-1-x86_64-with-glibc2.33
[debug] exe versions: ffmpeg 4.4.1 (setts), ffprobe 4.4.1, rtmpdump 2.4
[debug] Optional libraries: Cryptodome, secretstorage, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2021.12.27, Current version: 2021.12.27
yt-dlp is up to date (2021.12.27)
[debug] [Dropout] Extracting URL: https://www.dropout.tv/dimension-20/season:1/videos/fantasy-high-live-at-rtx-austin-1
[Dropout] fantasy-high-live-at-rtx-austin-1: Getting authenticity token
[Dropout] fantasy-high-live-at-rtx-austin-1: Logging out
ERROR: [Dropout] fantasy-high-live-at-rtx-austin-1: Unable to download webpage: HTTP Error 406: Not Acceptable (caused by <HTTPError 406: 'Not Acceptable'>); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output. (caused by <HTTPError 406: 'Not Acceptable'>); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
  File "/usr/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 717, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 3458, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  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)
```