官术网_书友最值得收藏!

5.6 證書驗證

當遇到一些特殊的網站時,在瀏覽器上會顯示連接不是私密連接而導致無法瀏覽該網頁。若在沒有安裝12306根證書的情況下訪問12306網站,則頁面如圖5-3所示。

圖5-3 查詢12306的車票

這里補充一個知識點,CA證書也叫SSL證書,是數字證書的一種,類似于駕駛證、護照和營業執照的電子副本。因為配置在服務器上,也稱為SSL服務器證書。

SSL證書就是遵守SSL協議,由受信任的數字證書機構頒發CA,在驗證服務器身份后頒發,具有服務器身份驗證和數據傳輸加密功能。

SSL證書在客戶端瀏覽器和Web服務器之間建立一條SSL安全通道(Secure Socket Layer, SSL),安全協議是由Netscape Communication公司設計開發的。該安全協議主要用來提供對用戶和服務器的認證,對傳送的數據進行加密和隱藏,確保數據在傳送中不被改變,即數據的完整性,現已成為該領域中全球化的標準。

一些特殊的網站會使用自己的證書,如12306首頁提示下載安裝根證書,這是為了確保網站的數據在傳輸過程中的安全性。在講述urllib.request.urlopen的時候,urlopen帶有cafile、capath和cadefault參數,可以用于設置用戶的CA證書。

遇到這類驗證證書的網站,最簡單而暴力的方法是直接關閉證書驗證,可以在代碼中引入SSL模塊,設置關閉證書驗證即可。代碼如下:

主站蜘蛛池模板: 安龙县| 辽阳市| 保定市| 社会| 怀集县| 南木林县| 海伦市| 北流市| 天峻县| 牙克石市| 松溪县| 丘北县| 宽甸| 托克托县| 洛隆县| 屏南县| 鸡泽县| 桐乡市| 长白| 梧州市| 泰州市| 丹东市| 东宁县| 贺兰县| 大悟县| 四会市| 盐山县| 玉溪市| 闽侯县| 拉萨市| 平原县| 诸城市| 清水县| 青冈县| 德州市| 长海县| 钦州市| 南江县| 林口县| 资溪县| 黑河市|