1. 程式人生 > 其它 >解決requests.exceptions.SSLError:HTTPSConnectionPool

解決requests.exceptions.SSLError:HTTPSConnectionPool

解決requests.exceptions.SSLError:HTTPSConnectionPool

方案一

只要安裝一下幾個requests依賴包就可以解決此問題

pip install cryptography

pip install pyOpenSSL

pip install certifi

這個方法我也是了,發現cryptography和pyOpenSSL兩個模組安裝不了

最後我才發現我的問題,居然是因為Charles。。。
只要把它關了就可以了。
如果你用的是fiddler之類的代理,也同樣有效

方案二

在requests請求中,加 :verify=False

ret = requests.post(url, data=json.dumps(params), headers=headers,verify=False).json()

方案三

這個原因是因為把fiddler開著的,這個時候去請求就會報錯,解決方法是降低requests的版本即可。

pip3 uninstall requests
pip3 install "requests==2.20"

可以使用 pip list檢視各個模組的版本,我之前的版本是2.26,降到2.20後就可以了。
並且request請求的時候需要加上引數verify=False
結果出現警告,Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings

InsecureRequestWarning)

想去掉紅框內的內容還需要新增如下程式碼

requests.packages.urllib3.disable_warnings()