Ver código fonte

下载器:修复证书验证失败问题

dongzhaorui 3 anos atrás
pai
commit
53d59339ca
1 arquivos alterados com 4 adições e 6 exclusões
  1. 4 6
      find_source/crawler/download.py

+ 4 - 6
find_source/crawler/download.py

@@ -30,6 +30,7 @@ class Downloader:
         retries = 0
         response = Response()
         response.encoding = 'utf-8'
+        response.status_code = 10400
         setattr(response, 'loop_times', 1)  # 异常通信频次默认值1
         while retries < max_retries:
             try:
@@ -37,16 +38,13 @@ class Downloader:
                 setattr(response, 'loop_times', 0)  # 正常通信频次默认值0
                 break
             except requests.exceptions.SSLError as e:
-                response.status_code = e.response.status_code
                 response.reason = e.__class__.__name__
                 if 'verify' not in request_params:
                     request_params.setdefault('verify', True)
+                else:
+                    url = url.replace('https', 'http')
                 retries += 1
             except requests.RequestException as e:
-                if e.response is not None:
-                    response.status_code = e.response.status_code
-                else:
-                    response.status_code = 10400
                 response.reason = e.__class__.__name__
                 retries += 1
         return response
@@ -63,5 +61,5 @@ class Downloader:
 
 
 # if __name__ == '__main__':
-#     r = Downloader().get('http://httpbin.org/status/401')
+#     r = Downloader().get('https://news.lzu.edu.cn/c/202204/88967.html')
 #     print(r, r.loop_times)