Python SSL证书问题


问题 :[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

 

产生这个问题的原因在于python本身,当使用urllib打开https的链接时,会检验一次ssl证书。而当目标网站使用的是自签名证书时,就会抛出urllib2.URLError的错误。

解决方法两种:

1.全局取消证书验证(当项目对安全性问题不太重视时,推荐使用,可以全局取消证书的验证,简易方便)

import ssl

ssl._create_default_https_context = ssl._create_unverified_context
2.使用ssl创建未验证的上下文,在url中传入上下文参数(当项目整体非常重视安全问题时,推荐这种方式,可以局部取消证书验证)

import ssl

context = ssl._create_unverified_context()
将context传入url函数的context参数中,比如

urllib2.urlopen('目标网址',context=context).read()

 

 

版权声明:本文为CSDN博主「老卫带你学」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yixieling4397/java/article/details/79861379


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM