mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[extractor/common] Move workaround for applying first Set-Cookie header into a separate method
This commit is contained in:
		| @@ -3,7 +3,6 @@ from __future__ import unicode_literals | ||||
|  | ||||
| import collections | ||||
| import re | ||||
| import sys | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..compat import compat_urlparse | ||||
| @@ -45,24 +44,9 @@ class VKBaseIE(InfoExtractor): | ||||
|             'pass': password.encode('cp1251'), | ||||
|         }) | ||||
|  | ||||
|         # https://new.vk.com/ serves two same remixlhk cookies in Set-Cookie header | ||||
|         # and expects the first one to be set rather than second (see | ||||
|         # https://github.com/ytdl-org/youtube-dl/issues/9841#issuecomment-227871201). | ||||
|         # As of RFC6265 the newer one cookie should be set into cookie store | ||||
|         # what actually happens. | ||||
|         # We will workaround this VK issue by resetting the remixlhk cookie to | ||||
|         # the first one manually. | ||||
|         for header, cookies in url_handle.headers.items(): | ||||
|             if header.lower() != 'set-cookie': | ||||
|                 continue | ||||
|             if sys.version_info[0] >= 3: | ||||
|                 cookies = cookies.encode('iso-8859-1') | ||||
|             cookies = cookies.decode('utf-8') | ||||
|             remixlhk = re.search(r'remixlhk=(.+?);.*?\bdomain=(.+?)(?:[,;]|$)', cookies) | ||||
|             if remixlhk: | ||||
|                 value, domain = remixlhk.groups() | ||||
|                 self._set_cookie(domain, 'remixlhk', value) | ||||
|                 break | ||||
|         # vk serves two same remixlhk cookies in Set-Cookie header and expects | ||||
|         # first one to be actually set | ||||
|         self._apply_first_set_cookie_header(url_handle, 'remixlhk') | ||||
|  | ||||
|         login_page = self._download_webpage( | ||||
|             'https://login.vk.com/?act=login', None, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․