aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--yt_dlp/extractor/vimeo.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/yt_dlp/extractor/vimeo.py b/yt_dlp/extractor/vimeo.py
index 367d5e583..0ed7b9ec1 100644
--- a/yt_dlp/extractor/vimeo.py
+++ b/yt_dlp/extractor/vimeo.py
@@ -869,11 +869,12 @@ class VimeoIE(VimeoBaseInfoExtractor):
for retry in (False, True):
try:
video = self._call_videos_api(video_id, viewer['jwt'], unlisted_hash)
+ break
except ExtractorError as e:
if (not retry and isinstance(e.cause, HTTPError) and e.cause.status == 400
and 'password' in traverse_obj(
- e.cause.response.read(),
- ({bytes.decode}, {json.loads}, 'invalid_parameters', ..., 'field'),
+ self._webpage_read_content(e.cause.response, e.cause.response.url, video_id, fatal=False),
+ ({json.loads}, 'invalid_parameters', ..., 'field'),
)):
self._verify_video_password(
video_id, self._get_video_password(), viewer['xsrft'])