SSL证书验证Urllib2

时间:2017-08-03 10:16:55

标签: python ssl urllib2

我试图访问已过期/无效证书的网页。当我从浏览器访问URL时,我收到安全警告Your connection is not private。但是当我使用python访问同一页面时,我没有收到任何错误。我使用的代码如下,

import urllib2
url  = 'https://expired.badssl.com/' 
request = urllib2.Request(url) 
result = urllib2.urlopen(request)     
print (result.read())

为什么我在urllib2中没有收到SSL证书错误?

更新

我发现下载的页面是我的互联网认证页面。

但是当我使用requests时,我收到SSL异常。为什么urllib2行为与请求行为不同?

1 个答案:

答案 0 :(得分:0)

Python之前的2.7.9尚未验证证书。

  

Python 2.7.9包含许多已被批准包含在Python 2.7维护版本中的网络安全增强功能。 PEP 476更改了几个标准库模块,如httplib,urllib2和xmlrpclib,默认情况下验证服务器通过安全(TLS)连接提供的证书。

从2.7.14安装说明。

另见