欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決python打開https出現(xiàn)certificate verify failed的問題

 更新時間:2020年09月03日 10:23:29   作者:追_夢_者  
這篇文章主要介紹了解決python打開https出現(xiàn)certificate verify failed的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

今天遇到一個奇怪的問題,在用urllib打開一個https鏈接的時候,出現(xiàn)了一下報錯信息:IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727),報錯問題就是證書驗證失敗,這種情況出現(xiàn)在網(wǎng)站使用的是自簽名證書或系統(tǒng)根證書存在問題的時候。

原因:

Python 從 2.7.9版本開始,就默認(rèn)開啟了服務(wù)器證書驗證功能,如果證書校驗不通過,則拒絕后續(xù)操作;這樣可以防止中間人攻擊,并使客戶端確保服務(wù)器確實是它聲稱的身份。如果是自簽名證書,由于一般系統(tǒng)的CA證書中不存在在自簽名的CA證書內(nèi)容,從而導(dǎo)致證書驗證不通過。

臨時解決方案

方案1:通過環(huán)境部變量設(shè)置,關(guān)閉服務(wù)器證書驗證功能

執(zhí)行以下shell命令(假設(shè)你使用的是bash shell):

echo "export PYTHONHTTPSVERIFY=0" >> ~/.bashrc

source ~/.bashrc

方案2:取消服務(wù)器證書驗證功能(全局影響)

在文件開始部分,加入如下代碼:

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

方案3:創(chuàng)建取消服務(wù)器證書驗證的context參數(shù)(當(dāng)前請求代碼影響)

使用示例如下:

import ssl
context = ssl._create_unverified_context()
urllib.urlopen('https://www.baidu.com', context=context)

方案4:requests verify 參數(shù)設(shè)置為False,取消驗證功能

使用示例如下:

requests.get(url, verify=False)

方案5:手動指定CA證書(Python3)

使用示例如下:

import urllib

urllib.request.urlopen("https://example.com/some/info", cafile="ca.pem")

當(dāng)系統(tǒng)根證書存在問題的時候,可以使用 certifi提供的CA證書:

import certifi
import urllib
urllib.request.urlopen('https://example.com/bar/baz.html', cafile=certifi.where())

補充知識:Python3之關(guān)閉SSL證書驗證

報錯信息:

Traceback (most recent call last):
File "D:\Python36\lib\site-packages\urllib3\contrib\pyopenssl.py", line 441, in wrap_socket
cnx.do_handshake()
File "D:\Python36\lib\site-packages\OpenSSL\SSL.py", line 1806, in do_handshake
self._raise_ssl_error(self._ssl, result)
File "D:\Python36\lib\site-packages\OpenSSL\SSL.py", line 1546, in _raise_ssl_error
_raise_current_error()
File "D:\Python36\lib\site-packages\OpenSSL\_util.py", line 54, in exception_from_error_queue
raise exception_type(errors)
OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]

During handling of the above exception, another exception occurred:

https://aweme.snssdk.com/aweme/v1/play/?video_id=v0200f180000bc4e71kd1dr48pievrrg&line=0&app_id=24

因為網(wǎng)址使用了https,所以經(jīng)過代理時會報錯;

解決方案:

#參數(shù):verify=False
html = requests.get(item_url, headers=headers, verify=False)
# print(html.content)

以上這篇解決python打開https出現(xiàn)certificate verify failed的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹

    python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹

    這篇文章主要給大家介紹了關(guān)于python讀取.mat文件及將變量存為.mat文件的詳細(xì)介紹,?mat文件是matlab的數(shù)據(jù)存儲的標(biāo)準(zhǔn)格式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • 基于Python實現(xiàn)excel表格數(shù)據(jù)一鍵轉(zhuǎn)json格式小工具

    基于Python實現(xiàn)excel表格數(shù)據(jù)一鍵轉(zhuǎn)json格式小工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Python開發(fā)excel一鍵轉(zhuǎn)json小工具,實現(xiàn)任意選中excel的xlsx和xls文件轉(zhuǎn)化成json文件,并把結(jié)果顯示在界面中,需要的可以了解下
    2025-09-09
  • 快速解釋如何使用pandas的inplace參數(shù)的使用

    快速解釋如何使用pandas的inplace參數(shù)的使用

    這篇文章主要介紹了快速解釋如何使用pandas的inplace參數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python 實現(xiàn)圖片上傳接口開發(fā) 并生成可以訪問的圖片url

    python 實現(xiàn)圖片上傳接口開發(fā) 并生成可以訪問的圖片url

    今天小編就為大家分享一篇python 實現(xiàn)圖片上傳接口開發(fā) 并生成可以訪問的圖片url,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python?6種基本變量操作技巧總結(jié)

    Python?6種基本變量操作技巧總結(jié)

    這篇文章主要為大家總結(jié)了Python必備的6種基本變量操作技巧,文中通過圖片合示例詳細(xì)為大家進(jìn)行了介紹,感興趣的小伙伴可以了解一下
    2022-03-03
  • flask連接并操作數(shù)據(jù)庫的實現(xiàn)示例

    flask連接并操作數(shù)據(jù)庫的實現(xiàn)示例

    本文詳細(xì)介紹了在Flask框架中連接并操作數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • python數(shù)學(xué)建模(SciPy+?Numpy+Pandas)

    python數(shù)學(xué)建模(SciPy+?Numpy+Pandas)

    這篇文章主要介紹了python數(shù)學(xué)建模(SciPy+?Numpy+Pandas),文章基于python的相關(guān)資料緊接上一篇文章內(nèi)容展開主題詳情,需要的小伙伴可以參考一下
    2022-07-07
  • Pandas 2.1發(fā)布更新功能介紹

    Pandas 2.1發(fā)布更新功能介紹

    這篇文章主要為大家介紹了Pandas 2.1發(fā)布更新功能介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解Pandas之容易讓人混淆的行選擇和列選擇

    詳解Pandas之容易讓人混淆的行選擇和列選擇

    這篇文章主要介紹了詳解Pandas之容易讓人混淆的行選擇和列選擇,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python list 切片倒著取的實現(xiàn)示例

    python list 切片倒著取的實現(xiàn)示例

    切片操作非常靈活,可以按照需要獲取列表中的任意一段元素,本文主要介紹了python list 切片倒著取的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01

最新評論