Python 学习错误记载

232 阅读1分钟

1、urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]

当你使用urllib.urlopen一个 https 的时候会验证一次 SSL证书。当目标使用的是自签名的证书时就会报urllib.error.URLError错误。

解决办法如下

from urllib.request import urlopen, Request
#导入ssl 
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

url = "https://www.bing.com"
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"

req = Request(url)
req.add_header("User-agent", user_agent)

response = urlopen(req, timeout=5)