diff --git a/DrissionPage/driver_page.py b/DrissionPage/driver_page.py index 31a17c4..8328be1 100644 --- a/DrissionPage/driver_page.py +++ b/DrissionPage/driver_page.py @@ -139,7 +139,7 @@ class DriverPage(object): :param interval: 重试间隔(秒) :return: 目标url是否可用 """ - to_url = quote(url, safe='/:&?=%;#@') + to_url = quote(url, safe='/:&?=%;#@+!') retry = int(retry) if retry is not None else int(self.retry_times) interval = int(interval) if interval is not None else int(self.retry_interval) diff --git a/DrissionPage/session_page.py b/DrissionPage/session_page.py index 920c237..e6190fa 100644 --- a/DrissionPage/session_page.py +++ b/DrissionPage/session_page.py @@ -235,7 +235,7 @@ class SessionPage(object): :param kwargs: 连接参数 :return: url是否可用 """ - to_url = quote(url, safe='/:&?=%;#@+') + to_url = quote(url, safe='/:&?=%;#@+!') retry = int(retry) if retry is not None else int(self.retry_times) interval = int(interval) if interval is not None else int(self.retry_interval) @@ -278,7 +278,7 @@ class SessionPage(object): :param kwargs: 连接参数 :return: url是否可用 """ - to_url = quote(url, safe='/:&?=%;#@') + to_url = quote(url, safe='/:&?=%;#@+!') retry = int(retry) if retry is not None else int(self.retry_times) interval = int(interval) if interval is not None else int(self.retry_interval) @@ -499,7 +499,7 @@ class SessionPage(object): if mode not in ('get', 'post'): raise ValueError("Argument mode can only be 'get' or 'post'.") - url = quote(url, safe='/:&?=%;#@+') + url = quote(url, safe='/:&?=%;#@+!') # 设置referer和host值 kwargs_set = set(x.lower() for x in kwargs)