Repository: yt-dlp
Issue: [VRT] token.vrt.be gone - no longer possible to login
Labels: account-needed,site-bug,can-share-account

### 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 that yt-dlp is broken on a **supported** site
- [X] I've verified that I'm running yt-dlp version **2023.07.06** ([update instructions](https://github.com/yt-dlp/yt-dlp#update)) or later (specify commit)
- [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 all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/yt-dlp/yt-dlp/wiki/FAQ#video-url-contains-an-ampersand--and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [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)
- [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

Belgium

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

tested on commit 099fb1b35cf835303306549f5113d1802d79c9c7

In the vrt.py code, you can see that in order to login, it first connects to https://token.vrt.be/vrtnuinitlogin to obtain the OIDCXSRF cookie which is then used when performing the actual login on https://login.vrt.be/perform_login

This has worked until 25th of august.  After that, token.vrt.be only replied with 503 errors, and today, token.vrt.be doesn't even resolve anymore.

When logging in using the browser, I see that this OIDCXSRF cookie is obtained by other calls to https://login.vrt.be/authorize and no longer by requesting something from token.vrt.be, however, I haven't figured out yet how to fix the problem, as that url is called with many parameters I can't figure out...


### 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
[debug] Command-line config: ['-vU', '--username', 'PRIVATE', '--password', 'PRIVATE', 'https://www.vrt.be/vrtnu/a-z/vrt-nws-journaal/2023/vrt-nws-journaal-vrt-nws-journaal-19u-20230829/']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2023.07.06 [b532a3481] (source)
[debug] Lazy loading extractors is disabled
[debug] Git HEAD: 099fb1b35
[debug] Python 3.11.5 (CPython x86_64 64bit) - Linux-5.10.0-23-amd64-x86_64-with (OpenSSL 3.1.2 1 Aug 2023)
[debug] exe versions: ffmpeg 6.0 (setts), ffprobe 6.0, rtmpdump 2.4
[debug] Optional libraries: sqlite3-2.6.0
[debug] Proxy map: {}
[debug] Loaded 1864 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version: stable@2023.07.06, Current version: stable@2023.07.06
yt-dlp is up to date (stable@2023.07.06)
[VrtNU] Logging in
[VrtNU] Requesting XSRF Token
ERROR: [VrtNU] vrt-nws-journaal-vrt-nws-journaal-19u-20230829: Could not get XSRF Token: [Errno -2] Name does not resolve (caused by TransportError('[Errno -2] Name does not resolve'))
  File "/usr/local/yt-dlp/yt_dlp/extractor/common.py", line 712, in extract
    self.initialize()
  File "/usr/local/yt-dlp/yt_dlp/extractor/common.py", line 618, in initialize
    self._perform_login(username, password)
  File "/usr/local/yt-dlp/yt_dlp/extractor/vrt.py", line 250, in _perform_login
    self._request_webpage(
  File "/usr/local/yt-dlp/yt_dlp/extractor/common.py", line 860, in _request_webpage
    raise ExtractorError(errmsg, cause=err)

  File "/usr/lib/python3.11/urllib/request.py", line 1348, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib/python3.11/http/client.py", line 1286, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1332, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1281, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.11/http/client.py", line 1041, in _send_output
    self.send(msg)
  File "/usr/lib/python3.11/http/client.py", line 979, in send
    self.connect()
  File "/usr/lib/python3.11/http/client.py", line 1451, in connect
    super().connect()
  File "/usr/lib/python3.11/http/client.py", line 945, in connect
    self.sock = self._create_connection(
                ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 827, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/socket.py", line 962, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -2] Name does not resolve

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/yt-dlp/yt_dlp/extractor/common.py", line 847, in _request_webpage
    return self._downloader.urlopen(self._create_request(url_or_request, data, headers, query))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/yt-dlp/yt_dlp/YoutubeDL.py", line 4059, in urlopen
    return self._request_director.send(req)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/yt-dlp/yt_dlp/networking/common.py", line 114, in send
    response = handler.send(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/yt-dlp/yt_dlp/networking/_helper.py", line 203, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/yt-dlp/yt_dlp/networking/common.py", line 325, in send
    return self._send(request)
           ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/yt-dlp/yt_dlp/networking/_urllib.py", line 440, in _send
    handle_response_read_exceptions(cause)
  File "/usr/local/yt-dlp/yt_dlp/networking/_urllib.py", line 361, in handle_response_read_exceptions
    raise TransportError(cause=e) from e
yt_dlp.networking.exceptions.TransportError: [Errno -2] Name does not resolve
```