From 1d1358d09fedcdc6b3e83538a29b0b539cb9be3f Mon Sep 17 00:00:00 2001 From: bashonly <88596187+bashonly@users.noreply.github.com> Date: Sat, 21 Feb 2026 13:24:05 -0600 Subject: [PATCH] [ie] Add browser impersonation support to more extractors (#16029) Closes #7001, Closes #7444, Closes #16004 Authored by: bashonly --- yt_dlp/extractor/mixcloud.py | 2 +- yt_dlp/extractor/truth.py | 3 ++- yt_dlp/extractor/xhamster.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/yt_dlp/extractor/mixcloud.py b/yt_dlp/extractor/mixcloud.py index 852670fcba..c555b63b5f 100644 --- a/yt_dlp/extractor/mixcloud.py +++ b/yt_dlp/extractor/mixcloud.py @@ -25,7 +25,7 @@ class MixcloudBaseIE(InfoExtractor): %s } }''' % (lookup_key, username, f', slug: "{slug}"' if slug else '', object_fields), # noqa: UP031 - })['data'][lookup_key] + }, impersonate=True)['data'][lookup_key] class MixcloudIE(MixcloudBaseIE): diff --git a/yt_dlp/extractor/truth.py b/yt_dlp/extractor/truth.py index 51d28d1598..673948eea5 100644 --- a/yt_dlp/extractor/truth.py +++ b/yt_dlp/extractor/truth.py @@ -51,7 +51,8 @@ class TruthIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - status = self._download_json(f'https://truthsocial.com/api/v1/statuses/{video_id}', video_id) + status = self._download_json( + f'https://truthsocial.com/api/v1/statuses/{video_id}', video_id, impersonate=True) uploader_id = strip_or_none(traverse_obj(status, ('account', 'username'))) return { 'id': video_id, diff --git a/yt_dlp/extractor/xhamster.py b/yt_dlp/extractor/xhamster.py index f6927565f7..5d600c0f14 100644 --- a/yt_dlp/extractor/xhamster.py +++ b/yt_dlp/extractor/xhamster.py @@ -268,7 +268,7 @@ class XHamsterIE(InfoExtractor): display_id = mobj.group('display_id') or mobj.group('display_id_2') desktop_url = re.sub(r'^(https?://(?:.+?\.)?)m\.', r'\1', url) - webpage, urlh = self._download_webpage_handle(desktop_url, video_id) + webpage, urlh = self._download_webpage_handle(desktop_url, video_id, impersonate=True) error = self._html_search_regex( r'