[extractor/common] Add doc string for _apply_first_set_cookie_header

This commit is contained in:
Sergey M․ 2019-05-20 23:23:18 +07:00
parent a9e03736df
commit ce2fe4c01c
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D

View File

@ -2818,15 +2818,19 @@ def _get_cookies(self, url):
return compat_cookies.SimpleCookie(req.get_header('Cookie')) return compat_cookies.SimpleCookie(req.get_header('Cookie'))
def _apply_first_set_cookie_header(self, url_handle, cookie): def _apply_first_set_cookie_header(self, url_handle, cookie):
# Some sites (e.g. [1-3]) may serve two cookies under the same name """
# in Set-Cookie header and expect the first (old) one to be set rather Apply first Set-Cookie header instead of the last. Experimental.
# than second (new). However, as of RFC6265 the newer one cookie
# should be set into cookie store what actually happens. Some sites (e.g. [1-3]) may serve two cookies under the same name
# We will workaround this issue by resetting the cookie to in Set-Cookie header and expect the first (old) one to be set rather
# the first one manually. than second (new). However, as of RFC6265 the newer one cookie
# 1. https://new.vk.com/ should be set into cookie store what actually happens.
# 2. https://github.com/ytdl-org/youtube-dl/issues/9841#issuecomment-227871201 We will workaround this issue by resetting the cookie to
# 3. https://learning.oreilly.com/ the first one manually.
1. https://new.vk.com/
2. https://github.com/ytdl-org/youtube-dl/issues/9841#issuecomment-227871201
3. https://learning.oreilly.com/
"""
for header, cookies in url_handle.headers.items(): for header, cookies in url_handle.headers.items():
if header.lower() != 'set-cookie': if header.lower() != 'set-cookie':
continue continue