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