raise default session timeout to 30s
This commit is contained in:
1 parent
20ad4c6535
commit
638d8fb359
1 file changed
+12
-3
@@ -13,12 +13,16 @@ from aioweb import Response
|
|||||||
from aioweb_tls import CurlCffi, TLSSession
|
from aioweb_tls import CurlCffi, TLSSession
|
||||||
from fake_useragent import UserAgent
|
from fake_useragent import UserAgent
|
||||||
|
|
||||||
from monitor_utils.constants import CLIENT_IDENTIFIERS, RETRY_LIMIT
|
from monitor_utils.constants import CLIENT_IDENTIFIERS, RETRY_LIMIT, TIMEOUT_SECONDS
|
||||||
|
|
||||||
UA = UserAgent()
|
UA = UserAgent()
|
||||||
|
|
||||||
|
|
||||||
def get_default_session(proxies: AioProxies, headers: dict | None = None) -> TLSSession:
|
def get_default_session(
|
||||||
|
proxies: AioProxies,
|
||||||
|
headers: dict | None = None,
|
||||||
|
timeout: int = TIMEOUT_SECONDS,
|
||||||
|
) -> TLSSession:
|
||||||
"""Return a TLSSession impersonating a random client fingerprint.
|
"""Return a TLSSession impersonating a random client fingerprint.
|
||||||
|
|
||||||
Fingerprint rotation lives here so every monitor rotates the same way; the
|
Fingerprint rotation lives here so every monitor rotates the same way; the
|
||||||
@@ -36,6 +40,9 @@ def get_default_session(proxies: AioProxies, headers: dict | None = None) -> TLS
|
|||||||
monitor-wide static headers; per-request headers still go through
|
monitor-wide static headers; per-request headers still go through
|
||||||
send_request. The curl_cffi impersonation already supplies a
|
send_request. The curl_cffi impersonation already supplies a
|
||||||
matching User-Agent, so one is not defaulted here.
|
matching User-Agent, so one is not defaulted here.
|
||||||
|
timeout: Total request timeout in seconds, defaulting to TIMEOUT_SECONDS.
|
||||||
|
aioweb's own default is only 10s, so this restores the wider budget
|
||||||
|
the old sessions used and slow retailers depend on.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A TLSSession over a curl_cffi backend with a random impersonation, with
|
A TLSSession over a curl_cffi backend with a random impersonation, with
|
||||||
@@ -45,7 +52,9 @@ def get_default_session(proxies: AioProxies, headers: dict | None = None) -> TLS
|
|||||||
headers = headers or {}
|
headers = headers or {}
|
||||||
headers.setdefault("User-Agent", UA.chrome)
|
headers.setdefault("User-Agent", UA.chrome)
|
||||||
impersonate = random.choice(CLIENT_IDENTIFIERS)
|
impersonate = random.choice(CLIENT_IDENTIFIERS)
|
||||||
session = TLSSession(backend=CurlCffi(impersonate=impersonate), headers=headers)
|
session = TLSSession(
|
||||||
|
backend=CurlCffi(impersonate=impersonate), headers=headers, timeout=timeout
|
||||||
|
)
|
||||||
session.proxy_pool = proxies
|
session.proxy_pool = proxies
|
||||||
return session
|
return session
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user