mirror of
https://gitee.com/g1879/DrissionPage.git
synced 2024-12-10 04:00:23 +08:00
优化_make_response()的kwargs设置,并加入timeout设置
This commit is contained in:
parent
79bb8d4500
commit
f3f4be5793
@ -23,10 +23,10 @@ from .session_element import SessionElement, execute_session_find
|
|||||||
class SessionPage(object):
|
class SessionPage(object):
|
||||||
"""SessionPage封装了页面操作的常用功能,使用requests_html来获取、解析网页。"""
|
"""SessionPage封装了页面操作的常用功能,使用requests_html来获取、解析网页。"""
|
||||||
|
|
||||||
def __init__(self, session: HTMLSession):
|
def __init__(self, session: HTMLSession, timeout: float = 10):
|
||||||
"""初始化函数"""
|
"""初始化函数"""
|
||||||
self._session = session
|
self._session = session
|
||||||
# self._locs = locs
|
self.timeout = timeout
|
||||||
self._url = None
|
self._url = None
|
||||||
self._url_available = None
|
self._url_available = None
|
||||||
self._response = None
|
self._response = None
|
||||||
@ -195,17 +195,21 @@ class SessionPage(object):
|
|||||||
raise ValueError("mode must be 'get' or 'post'.")
|
raise ValueError("mode must be 'get' or 'post'.")
|
||||||
|
|
||||||
# 设置referer和host值
|
# 设置referer和host值
|
||||||
if self._url:
|
kwargs_set = set(x.lower() for x in kwargs)
|
||||||
if 'headers' in set(x.lower() for x in kwargs):
|
if 'headers' in kwargs_set:
|
||||||
keys = set(x.lower() for x in kwargs['headers'])
|
header_set = set(x.lower() for x in kwargs['headers'])
|
||||||
if 'referer' not in keys:
|
if self._url and 'referer' not in header_set:
|
||||||
kwargs['headers']['Referer'] = self._url
|
|
||||||
if 'host' not in keys:
|
|
||||||
kwargs['headers']['Host'] = urlparse(url).hostname
|
|
||||||
else:
|
|
||||||
kwargs['headers'] = self.session.headers
|
|
||||||
kwargs['headers']['Referer'] = self._url
|
kwargs['headers']['Referer'] = self._url
|
||||||
|
if 'host' not in header_set:
|
||||||
kwargs['headers']['Host'] = urlparse(url).hostname
|
kwargs['headers']['Host'] = urlparse(url).hostname
|
||||||
|
else:
|
||||||
|
kwargs['headers'] = self.session.headers
|
||||||
|
kwargs['headers']['Host'] = urlparse(url).hostname
|
||||||
|
if self._url:
|
||||||
|
kwargs['headers']['Referer'] = self._url
|
||||||
|
|
||||||
|
if 'timeout' not in kwargs_set:
|
||||||
|
kwargs['timeout'] = self.timeout
|
||||||
|
|
||||||
try:
|
try:
|
||||||
r = None
|
r = None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user