首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSL证书验证Urllib2

SSL证书验证Urllib2
EN

Stack Overflow用户
提问于 2017-08-03 10:16:54
回答 1查看 1.8K关注 0票数 3

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

代码语言:javascript
复制
import urllib2
url  = 'https://expired.badssl.com/' 
request = urllib2.Request(url) 
result = urllib2.urlopen(request)     
print (result.read())

为什么我没有在urllib2中获得SSL证书错误?

更新

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

但是当我使用requests时,我得到了SSL。为什么urllib2行为不同于请求行为?

EN

回答 1

Stack Overflow用户

发布于 2017-09-19 15:41:59

Python以前的2.7.9还没有验证证书。

Python2.7.9包含了许多网络安全增强,这些增强已经被批准包含在Python2.7维护版本中。PEP 476将一些标准库模块(如httplib、urllib2和xmlrpclib )更改为在默认情况下验证服务器通过安全(TLS)连接提供的证书。

2.7.14安装说明。

另请参阅

  • PEP 476 -默认情况下启用HTTPS证书验证
  • PEP 493 - Python 2.7的HTTPS验证迁移工具
  • ssl._https_verify_certificates certificates文档
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45481341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档