Discuss / Python / urlopen报错urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify

urlopen报错urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify

Topic source

叫是先生

#1 Created at ... [Delete] [Delete and Lock User]

urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)>

报错的的原因是因为python2.7.11以后升级了urlLib模块 需要对ssl进行校验

所以我们可以导入ssl模块 import ssl

在urlopen中 context添加ssl._create_unverified_context() 关闭ssl校验即可

url = "https://www.baidu.com" context = ssl._create_unverified_context() get = urllib.request.urlopen(url, context = context ).read() print(get)

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

报错是因为https证书不正确,任何时候都不建议关闭验证,会导致严重的攻击。

>>> from urllib import request
>>> url = 'https://www.baidu.com'
>>> with request.urlopen(url) as f:
...     data = f.read()
...     print(f.status)
200

可能是使用PyCharm的问题吧?在终端执行廖老师的代码,没有问题的,但是在IDE里面就会有上面这个问题。。


  • 1

Reply