3
我试图访问已过期/无效证书的网页。当我从浏览器访问URL时,我收到安全警告Your connection is not private
。但是当我使用python访问相同的页面时,我没有收到任何错误。我使用的代码如下,SSL证书验证Urllib2
import urllib2
url = 'https://expired.badssl.com/'
request = urllib2.Request(url)
result = urllib2.urlopen(request)
print (result.read())
为什么我在urllib2中没有收到SSL证书错误?
UPDATE
我确定了被下载的页面是我的网络认证页面。
但是,当我使用requests
我得到SSL异常。为什么urllib2的行为与请求行为有所不同?
它这是真的,该文件指出Python 2.7.9+中的urllib2默认验证证书。然而,在Python 2.7.13中,我执行了'urllib2.urlopen(urllib2.Request(“https:// [编辑] /”))''和'requests.get(“https:// [编辑] /”)' ,似乎请求给出了一个SSL异常,而urllib2没有!看来文档是错误的! – cowlinator