HTTPSConnectionPool SSL错误证书验证失败

时间:2019-04-18 13:13:47

标签: python error-handling python-requests

我正在网上抓取某些特定的网站,因此我使用python 3请求包和beautifulsoup。在某些网站上处理测试时,出现此错误:

  

requests.exceptions.SSLError:HTTPSConnectionPool(host ='autoglassbodyrepair.lawshield.co.uk',port = 443):   url超过最大重试次数:/(由SSLError(SSLError(“错误的握手:   错误([[('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证书。

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我知道了,它只需要忽略证书即可,如下代码所示,因为连接不安全,您会收到警告。

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