]> jfr.im git - yt-dlp.git/commitdiff
[ie/vimeo] Fix login (#9274)
authorbashonly <redacted>
Sat, 24 Feb 2024 23:09:04 +0000 (17:09 -0600)
committerGitHub <redacted>
Sat, 24 Feb 2024 23:09:04 +0000 (23:09 +0000)
Closes #9273
Authored by: bashonly

yt_dlp/extractor/vimeo.py

index 208e111849053faa327a95da161cc07bbb77a50a..3f60d5fb925949f5a5b12fac1b92d5c5da12498b 100644 (file)
@@ -48,17 +48,15 @@ def _unsmuggle_headers(self, url):
         return url, data, headers
 
     def _perform_login(self, username, password):
-        webpage = self._download_webpage(
-            self._LOGIN_URL, None, 'Downloading login page')
-        token, vuid = self._extract_xsrft_and_vuid(webpage)
+        viewer = self._download_json('https://vimeo.com/_next/viewer', None, 'Downloading login token')
         data = {
             'action': 'login',
             'email': username,
             'password': password,
             'service': 'vimeo',
-            'token': token,
+            'token': viewer['xsrft'],
         }
-        self._set_vimeo_cookie('vuid', vuid)
+        self._set_vimeo_cookie('vuid', viewer['vuid'])
         try:
             self._download_webpage(
                 self._LOGIN_URL, None, 'Logging in',