【问题标题】:HTTPSConnectionPool SSL Error certificate verify failedHTTPSConnectionPool SSL 错误证书验证失败
【发布时间】:2019-09-08 20:05:59
【问题描述】:

我正在对一些特定网站进行网络抓取,因此我使用了 python 3 requests 包和 beautifulsoup。在对某些网站进行测试时,我收到了这个错误:

requests.exceptions.SSLError: HTTPSConnectionPool(host='autoglassbodyrepair.lawshield.co.uk', port=443): url 超出最大重试次数:/(由 SSLError(SSLError(“糟糕的握手: Error([('SSL 例程', 'tls_process_server_certificate', '证书验证失败')],)",),))


import requests as rq
import bs4

current_url = 'autoglassbodyrepair.lawshield.co.uk'
try:
   req = rq.get(current_url)
except rq.exceptions.RequestException as e:
   print(e)
else:
   soup = bs4.BeautifulSoup(r.content, "html.parser")
   text = soup.findAll(text = True)

当我尝试浏览器时,它显示证书已过期,但我可以处理带有 https 被禁止并变为红色的页面。 我想要的是,如果有一个不允许我访问该页面的异常,我会忽略它并进入下一页进行处理,但如果没有异常,我将处理当前页面并忽略那些 SSl 证书。

提前感谢您的帮助!

【问题讨论】:

    标签: python error-handling python-requests


    【解决方案1】:

    我知道了,它只需要忽略证书,如下面的代码,你会得到一个不安全连接的警告。

    req = rq.get(current_url, verify = False)
    
    

    【讨论】:

      猜你喜欢
      • 2015-06-05
      • 2015-11-19
      • 1970-01-01
      • 2018-06-07
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多