From d41069c2a6697e92121b22c3c81d1d2687f36538 Mon Sep 17 00:00:00 2001 From: g1879 Date: Thu, 6 Aug 2020 23:25:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84download=E8=B7=AF=E5=BE=84?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E8=B7=AF=E5=BE=84=E4=B8=BA.\?= =?UTF-8?q?=E6=97=B6=E7=9A=84bug=E3=80=82=20=5Fmake=5Fresponse=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=B8=ADself.=5Furl=E6=94=B9=E6=88=90self.url?= =?UTF-8?q?=EF=BC=8C=E7=A1=AE=E4=BF=9Dd=E6=A8=A1=E5=BC=8Fdownload=E6=97=B6?= =?UTF-8?q?url=E6=AD=A3=E7=A1=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DrissionPage/session_page.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/DrissionPage/session_page.py b/DrissionPage/session_page.py index 3af48eb..f5e74e4 100644 --- a/DrissionPage/session_page.py +++ b/DrissionPage/session_page.py @@ -170,6 +170,10 @@ class SessionPage(object): for key, i in enumerate(goal_Path.parts): # 去除路径中的非法字符 goal_path += goal_Path.drive if key == 0 and goal_Path.drive else re.sub(r'[*:|<>?"]', '', i).strip() goal_path += '\\' if i != '\\' and key < len(goal_Path.parts) - 1 else '' + + goal_Path = Path(goal_path) + goal_Path.mkdir(parents=True, exist_ok=True) + goal_path = goal_Path.absolute() full_path = Path(f'{goal_path}\\{full_name}') if full_path.exists(): @@ -183,8 +187,6 @@ class SessionPage(object): else: raise ValueError("Argument file_exists can only be 'skip', 'overwrite', 'rename'.") - Path(goal_path).mkdir(parents=True, exist_ok=True) - if show_msg: # 打印要下载的文件 print(full_name if file_name == full_name else f'{file_name} -> {full_name}') print(f'Downloading to: {goal_path}') @@ -233,14 +235,14 @@ class SessionPage(object): kwargs_set = set(x.lower() for x in kwargs) if 'headers' in kwargs_set: header_set = set(x.lower() for x in kwargs['headers']) - if self._url and 'referer' not in header_set: - kwargs['headers']['Referer'] = self._url + if self.url and 'referer' not in header_set: + kwargs['headers']['Referer'] = self.url if 'host' not in header_set: kwargs['headers']['Host'] = urlparse(url).hostname else: kwargs['headers'] = self.session.headers kwargs['headers']['Host'] = urlparse(url).hostname - if self._url: + if self.url: kwargs['headers']['Referer'] = self._url if 'timeout' not in kwargs_set: