From 43e7dd46dd312f2c8a5fcf467960a59647cc1964 Mon Sep 17 00:00:00 2001 From: Jason23347 Date: Mon, 11 Sep 2023 09:19:53 +0800 Subject: [PATCH] Always set the age check cookie (31916) --- youtube_dl/extractor/pornhub.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py index e2e1500ff..130e42866 100644 --- a/youtube_dl/extractor/pornhub.py +++ b/youtube_dl/extractor/pornhub.py @@ -60,6 +60,14 @@ class PornHubBaseIE(InfoExtractor): def _real_initialize(self): self._logged_in = False + def _set_age_cookies(self, host): + # The age verification cookie may have a different name based on the location. + # Setting multiple cookies doesn't seem to be big deal so we prefer that solution instead + # of guessing the right cookie out of an IP we don't currently have. + self._set_cookie(host, 'age_verified', '1') + self._set_cookie(host, 'accessAgeDisclaimerPH', '1') + self._set_cookie(host, 'accessPH', '1') + def _login(self, host): if self._logged_in: return @@ -264,11 +272,9 @@ class PornHubIE(PornHubBaseIE): video_id = mobj.group('id') self._login(host) - - self._set_cookie(host, 'age_verified', '1') + self._set_age_cookies(host) def dl_webpage(platform): - self._set_cookie(host, 'platform', platform) return self._download_webpage( 'https://www.%s/view_video.php?viewkey=%s' % (host, video_id), video_id, 'Downloading %s webpage' % platform) @@ -564,6 +570,7 @@ class PornHubUserIE(PornHubPlaylistBaseIE): mobj = re.match(self._VALID_URL, url) user_id = mobj.group('id') videos_url = '%s/videos' % mobj.group('url') + self._set_age_cookies(mobj.group('host')) page = self._extract_page(url) if page: videos_url = update_url_query(videos_url, {'page': page}) @@ -628,6 +635,7 @@ class PornHubPagedPlaylistBaseIE(PornHubPlaylistBaseIE): item_id = mobj.group('id') self._login(host) + self._set_age_cookies(host) return self.playlist_result(self._entries(url, host, item_id), item_id)