Python爬蟲之SSL認證處理

2021-09-13 12:49:39 字數 1151 閱讀 8544

當我們爬取12306的時候,會彈出乙個視窗,顯示連線不是私密連線,這裡就是ca機構認證,每次訪問的時候都會出現證書頁面錯誤

我們直接寫**

import request

import requests

response = requests.get('')

print(response.status_code)

執行結果爆出了requests.exceptions.sslerror

這就是說我們的驗證證書錯誤了。那我們怎麼解決呢,很簡單,把verify引數設定成false就能解決現在這個錯誤

import requests

response = requests.get('',verify=false)

print(response.status_code)

這樣就能列印出請求成功的狀態碼,(200)

但是下面還會有乙個警告,那麼怎麼解決,這個warning,它建議我們給它指定證書。我們可以忽略這個警告

最終解決方案1

import requests

from requests.packages import urllib3

urllib3.disable_warnings()

response = requests.get('',varify=false)

print(response.status_code)

最終解決方案2

這裡是採用捕獲警告到日誌的方式

import logging

import requests

logging.capturewarings(true)

response = requests.get('',varify=false)

print(response.status_code)

當然,我們也可以直接指定乙個證書用來作為客戶端認證。可以是單個檔案,或者乙個包含2個檔案的元組

import requests

response = requests.get('',cert=('path/server.crt','path/key'))

指定路徑,注意key不能加密

Python爬蟲 忽略ssl認證

當開啟乙個 時,可能會出現網頁不安全,使用者需要點開下面的高階認證再跳轉到該頁面,則需要忽略ssl的操作,才能爬取資料 import requests url headers 因為https是第三方ca證書認證的 但是12306 雖然是https 但是他不是ca證書,他是自己頒布的證書 解決辦法 是...

python遮蔽ssl認證告警

問題 描述 python 呼叫requests庫請求https的介面時,我們配置了verify false,忽略了ssl認證,但是會有alter日誌,列印在終端影響我們觀察測試結果,所以我們要遮蔽告警 解決辦法 呼叫基礎庫中的方法關閉告警資訊 from requests.packages.urlli...

Python爬蟲(四)SSL證書

我們可以發現,現在大部分的 都是以https開頭的。我們知道http是指從www伺服器傳輸超文字到本地瀏覽器的傳輸協議。那https中多出的s又代表著什麼呢?這就是本文要講的ssl。https是以安全為目標的http通道,也就是說在http的基礎加上了ssl層,使資料傳輸更加的安全。ssl ssl證...