This commit is contained in:
g1879 2024-03-15 01:37:18 +08:00
parent 991baf18d1
commit 4cbbf1dee1
5 changed files with 12 additions and 18 deletions

View File

@ -213,8 +213,8 @@ class SessionOptions(object):
return self._cookies return self._cookies
def set_cookies(self, cookies): def set_cookies(self, cookies):
"""设置cookies信息 """设置一个或多个cookies信息
:param cookies: cookies可为CookieJar, list, tuple, str, dict传入None可在ini文件标记删除 :param cookies: cookies可为Cookie, CookieJar, list, tuple, str, dict传入None可在ini文件标记删除
:return: 返回当前对象 :return: 返回当前对象
""" """
cookies = cookies if cookies is None else list(cookies_to_tuple(cookies)) cookies = cookies if cookies is None else list(cookies_to_tuple(cookies))

View File

@ -5,13 +5,13 @@
@Copyright: (c) 2024 by g1879, Inc. All Rights Reserved. @Copyright: (c) 2024 by g1879, Inc. All Rights Reserved.
@License : BSD 3-Clause. @License : BSD 3-Clause.
""" """
from http.cookiejar import CookieJar, Cookie
from pathlib import Path from pathlib import Path
from typing import Any, Union, Tuple, Optional from typing import Any, Union, Tuple, Optional
from requests import Session from requests import Session
from requests.adapters import HTTPAdapter from requests.adapters import HTTPAdapter
from requests.auth import HTTPBasicAuth from requests.auth import HTTPBasicAuth
from requests.cookies import RequestsCookieJar
from requests.structures import CaseInsensitiveDict from requests.structures import CaseInsensitiveDict
@ -60,7 +60,7 @@ class SessionOptions(object):
@property @property
def cookies(self) -> list: ... def cookies(self) -> list: ...
def set_cookies(self, cookies: Union[RequestsCookieJar, list, tuple, str, dict, None]) -> SessionOptions: ... def set_cookies(self, cookies: Union[Cookie, CookieJar, list, tuple, str, dict, None]) -> SessionOptions: ...
@property @property
def auth(self) -> Union[Tuple[str, str], HTTPBasicAuth]: ... def auth(self) -> Union[Tuple[str, str], HTTPBasicAuth]: ...

View File

@ -7,11 +7,10 @@
""" """
from datetime import datetime from datetime import datetime
from html import unescape from html import unescape
from http.cookiejar import Cookie from http.cookiejar import Cookie, CookieJar
from re import sub from re import sub
from urllib.parse import urlparse, urljoin, urlunparse from urllib.parse import urlparse, urljoin, urlunparse
from requests.cookies import RequestsCookieJar
from tldextract import extract from tldextract import extract
@ -203,7 +202,7 @@ def cookies_to_tuple(cookies):
:param cookies: cookies信息可为CookieJar, list, tuple, str, dict :param cookies: cookies信息可为CookieJar, list, tuple, str, dict
:return: 返回tuple形式的cookies :return: 返回tuple形式的cookies
""" """
if isinstance(cookies, (list, tuple, RequestsCookieJar)): if isinstance(cookies, (list, tuple, CookieJar)):
cookies = tuple(cookie_to_dict(cookie) for cookie in cookies) cookies = tuple(cookie_to_dict(cookie) for cookie in cookies)
elif isinstance(cookies, str): elif isinstance(cookies, str):
@ -220,7 +219,7 @@ def cookies_to_tuple(cookies):
cookies = (cookie_to_dict(cookies),) cookies = (cookie_to_dict(cookies),)
else: else:
raise TypeError('cookies参数必须为RequestsCookieJar、list、tuple、str或dict类型。') raise TypeError('cookies参数必须为Cookie、CookieJar、list、tuple、str或dict类型。')
return cookies return cookies
@ -231,8 +230,7 @@ def set_session_cookies(session, cookies):
:param cookies: cookies信息 :param cookies: cookies信息
:return: None :return: None
""" """
cookies = cookies_to_tuple(cookies) for cookie in cookies_to_tuple(cookies):
for cookie in cookies:
if cookie['value'] is None: if cookie['value'] is None:
cookie['value'] = '' cookie['value'] = ''

View File

@ -5,8 +5,6 @@
@Copyright: (c) 2024 by g1879, Inc. All Rights Reserved. @Copyright: (c) 2024 by g1879, Inc. All Rights Reserved.
@License : BSD 3-Clause. @License : BSD 3-Clause.
""" """
from http.cookiejar import Cookie
from .._functions.web import set_browser_cookies, set_session_cookies from .._functions.web import set_browser_cookies, set_session_cookies

View File

@ -5,11 +5,9 @@
@Copyright: (c) 2024 by g1879, Inc. All Rights Reserved. @Copyright: (c) 2024 by g1879, Inc. All Rights Reserved.
@License : BSD 3-Clause. @License : BSD 3-Clause.
""" """
from http.cookiejar import Cookie from http.cookiejar import Cookie, CookieJar
from typing import Union from typing import Union
from requests.cookies import RequestsCookieJar
from .._pages.chromium_base import ChromiumBase from .._pages.chromium_base import ChromiumBase
from .._pages.chromium_tab import WebPageTab from .._pages.chromium_tab import WebPageTab
from .._pages.session_page import SessionPage from .._pages.session_page import SessionPage
@ -21,7 +19,7 @@ class CookiesSetter(object):
def __init__(self, page: ChromiumBase): ... def __init__(self, page: ChromiumBase): ...
def __call__(self, cookies: Union[RequestsCookieJar, Cookie, list, tuple, str, dict]) -> None: ... def __call__(self, cookies: Union[CookieJar, Cookie, list, tuple, str, dict]) -> None: ...
def remove(self, name: str, url: str = None, domain: str = None, path: str = None) -> None: ... def remove(self, name: str, url: str = None, domain: str = None, path: str = None) -> None: ...
@ -33,7 +31,7 @@ class SessionCookiesSetter(object):
def __init__(self, page: SessionPage): ... def __init__(self, page: SessionPage): ...
def __call__(self, cookies: Union[RequestsCookieJar, Cookie, list, tuple, str, dict]) -> None: ... def __call__(self, cookies: Union[CookieJar, Cookie, list, tuple, str, dict]) -> None: ...
def remove(self, name: str) -> None: ... def remove(self, name: str) -> None: ...
@ -45,7 +43,7 @@ class WebPageCookiesSetter(CookiesSetter, SessionCookiesSetter):
def __init__(self, page: SessionPage): ... def __init__(self, page: SessionPage): ...
def __call__(self, cookies: Union[RequestsCookieJar, Cookie, list, tuple, str, dict]) -> None: ... def __call__(self, cookies: Union[CookieJar, Cookie, list, tuple, str, dict]) -> None: ...
def remove(self, name: str, url: str = None, domain: str = None, path: str = None) -> None: ... def remove(self, name: str, url: str = None, domain: str = None, path: str = None) -> None: ...