1. 程式人生 > >Python爬蟲長時間出現SSL證書驗證問題

Python爬蟲長時間出現SSL證書驗證問題

Python爬蟲長時間出現SSL證書驗證問題

今天做了一個爬蟲程式,執行好好的,但是執行2個小時之後突然報錯了,看了一下也不是IP原因,也不是程式碼邏輯問題。報錯資訊是

requests.exceptions.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)

網上也搜到了一些結果我把它們整合記錄了下來。

SSL:安全套接字層。是為了解決HTTP協議是明文,避免傳輸的資料被竊取,篡改,劫持等。

TSL:Transport Layer Security,傳輸層安全協議。TSL其實是SSL標準化後的產物,即SSL/TSL

HTTPS:HTTPS是相容HTTP的,可以把HTTPS理解為'HTTP over TSL',即HTTPS是HTTP協議和TSL協議的組合。

下面回到正題。

我們遇到的問題就是,請求將驗證HTTPS請求的SSL證書,就像Web瀏覽器一樣。預設情況下,啟用SSL驗證,如果無法驗證SSL證書,將會引發SSLError。

為了避免出現這個錯誤,我們可以讓請求忽略SSL證書:

result = requests.get('https://kyfw.12306.cn/otn/login/init',verify=False)

requests官方文件中有這樣的介紹