Python2/3 解決訪問Https時不受信任SSL證書問題

問題: 
在瀏覽器中訪問該網站時會彈出證書不受信任,可是忽略仍可繼續訪問 
但當使用Python登陸時就會拋出_ssl.c:645錯誤,不能讀取頁面。 
以前在作Android開發用Jsoup訪問該站時也會有問題,當時的解決辦法是寫一個方法直接信任全部Https的安全證書,就在想python是否是也是能夠這樣作。
一、修改_create_default_https_context變量python

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

這樣就能夠解決了!瀏覽器

二、使用requests庫發送請求的時候直接設置verify=False取消驗證便可,會有下面問題安全

 

問題到此爲止還沒結束,取消SSL驗證又帶來一個新問題。出現了警告信息,這個鍋是urllib3的。網站

InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. 
雖然不是錯誤,可是在捕捉異常時,默認會出問題,爲了避免影響原有流程,應該去掉這些警告信息。url


或者直接取消全部urllib3的警告.net

requests.packages.urllib3.disable_warnings()


原文:https://blog.csdn.net/mighty13/article/details/78076258 code

相關文章
相關標籤/搜索