解决Python certificate verify failed的问题

在使用 urllib2.urlopen打开https时,报错:urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>

出现此错误的原因是目标网站的https证书不是在证书签发机构购买的。

问题的原因是“SSL: CERTIFICATE_VERIFY_FAILED”。

Python 升级到 2.7.9 之后引入了一个新特性,当使用urllib.urlopen打开一个 https 链接时,会验证一次 SSL 证书。

而当目标网站使用的是自签名的证书时就会抛出一个 urllib2.URLError: 的错误消息,详细信息可以在这里查看(https://www.python.org/dev/peps/pep-0476/)。

解决方案:

1.使用ssl创建未经验证的上下文,在urlopen中传入上下文参数

import ssl
import urllib2
 
context = ssl._create_unverified_context()
print urllib2.urlopen("https://www.111cn.net/", context=context).read()

2.导入ssl时关闭证书验证

import ssl
import urllib2
 
ssl._create_default_https_context = ssl._create_unverified_context
print urllib2.urlopen("https://www.111cn.net/").read()

时间: 2024-10-26 11:02:02

解决Python certificate verify failed的问题的相关文章

Verify.Failed错误码什么意思?怎么解决?

阿里云CloudDesktop出现API报错,错误码是:Verify.Failed Error Message: 描述: 验证失败 详情查看: 阿里云API错误中心 https://error-center.aliyun.com/

Git错误:error setting certificate verify locations

错误内容: fatal: unable to access 'https://github.com/xxxx/xxxx.git error setting certificate verify locations: CAfile: E:/software/Git/mingw64/ssl/certs/ca-bundle.crt CApath: none 错误原因: 个人是由于git发生了文件丢失 解决措施: 通过重装git客户端解决 若有其他解决方式或者不能解决 可以私信我

如何解决python Image.crop后png图片有噪点?

问题描述 如何解决python Image.crop后png图片有噪点? 先上代码 im = self.img.crop(box)nim = Image.new('RGBA' im.size)nim.paste(im (0 0 im.size[0] im.size[1]))nim.resize(im.size Image.ANTIALIAS)#加上这句也不管用nim.save(""e:/"" + name + '.png') crop前后对比图片,左侧源图,右侧cr

完美解决python遍历删除字典里值为空的元素报错问题_python

exam = { 'math': '95', 'eng': '96', 'chn': '90', 'phy': '', 'chem': '' } 使用下列遍历的方法删除: 1. for e in exam: 2. if exam[e] == '': 3. del exam[e] 结果出现下列错误,怎么解决: Traceback (most recent call last): File "Untitled.py", line 3, in <module> for e in

解决Python 遍历字典时删除元素报异常的问题_python

错误的代码① d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.items(): del(d[k]) 错误的代码② -- 对于Python3 d = {'a':1, 'b':0, 'c':1, 'd':0} for key, val in d.keys(): del(d[k]) 正确的代码 d = {'a':1, 'b':0, 'c':1, 'd':0} keys = list(d.keys()) for key, val in keys: d

解决Python中字符串和数字拼接报错的方法_python

前言 众所周知Python不像JS或者PHP这种弱类型语言里在字符串连接时会自动转换类型,如果直接将字符串和数字拼接会直接报错. 如以下的代码: # coding=utf8 str = '你的分数是:' num = 82 text = str+num+'分 | 琼台博客' print text 执行结果 直接报错:TypeError: cannot concatenate 'str' and 'int' objects 解决这个方法只有提前把num转换为字符串类型,可以使用bytes函数把int

(转) 解决ssh的&quot;Write failed: Broken pipe&quot;问题

解决ssh的"Write failed: Broken pipe"问题   问题场景 服务器环境:阿里云 Linux CentOS 主机 客户端:Mac OSX Terminal 问题现象 用 ssh 命令连接服务器之后,如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示: Write failed: Broken pipe 只能重新用 ssh 命令进行连接. 解决方法 方法一:如果您有多台服务器,不想在每台服务器上设置,只需在客户端的 ~/.s

解决python写的爬虫程序抓取到的网页是乱码的问题

在开发自用爬虫过程中,有的网页是utf-8,有的是gb2312,有的是gbk,怎么办? 下面所说的都是针对python2.7 如果不加处理,采集到的都是乱码,解决的方法是将html处理成统一的utf-8编码. #chardet 需要下载安装 import chardet #抓取网页html html_1 = urllib2.urlopen(line,timeout=120).read() #print html_1 mychar=chardet.detect(html_1) #print myc

完美解决Unknown Pin 和Failed to add class member

相信很多人在使用DXP和AD的时候,都遇到过Unknown Pin 和Failed to add class member 的问题,我也遇到了,经过实验发现新建个PCB就可以解决这些问题,网上的常见做法也是这样的.但是很多时候新建PCB就要放弃前面已经布局布线了一半的样本,实在是费时又劳神.所以我在想既然是报错,肯定有办法解决,于是就研究了下发现了如下解决办法.希望对大家能有帮助.       出现这个提示是因为现在的PCB里已经含有net的,只需要先删除所有现在板子上的net,然后再导入就不会