色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:3日期:2022-07-12 13:56:45

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

原因:

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

臨時(shí)解決方案

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

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

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

source ~/.bashrc

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

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

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

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

使用示例如下:

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

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

使用示例如下:

requests.get(url, verify=False)

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

使用示例如下:

import urllib

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

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

import certifiimport urlliburllib.request.urlopen(’https://example.com/bar/baz.html’, cafile=certifi.where())

補(bǔ)充知識(shí):Python3之關(guān)閉SSL證書驗(yàn)證

報(bào)錯(cuò)信息:

Traceback (most recent call last):File 'D:Python36libsite-packagesurllib3contribpyopenssl.py', line 441, in wrap_socketcnx.do_handshake()File 'D:Python36libsite-packagesOpenSSLSSL.py', line 1806, in do_handshakeself._raise_ssl_error(self._ssl, result)File 'D:Python36libsite-packagesOpenSSLSSL.py', line 1546, in _raise_ssl_error_raise_current_error()File 'D:Python36libsite-packagesOpenSSL_util.py', line 54, in exception_from_error_queueraise 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

因?yàn)榫W(wǎng)址使用了https,所以經(jīng)過代理時(shí)會(huì)報(bào)錯(cuò);

解決方案:

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

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

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: aaa级大片| 一区国严二区亚洲三区 | 久久国产精品二国产精品 | 亚洲国产精久久久久久久春色 | 亚洲一区在线免费观看 | 欧美在线一级视频 | 国产一区精品在线 | 亚洲精品人成网线在线 | 免费一级片视频 | 国产一区二区三区免费在线视频 | 亚洲国产高清视频 | 国产专区中文字幕 | 欧美日韩成人在线视频 | 欧洲成人免费视频 | 99视频国产在线 | 一区二区三区久久 | 中文字幕一区二区三区亚洲精品 | 在线成人天天鲁夜啪视频 | 中文字幕成人免费高清在线 | 日韩美女视频一区 | 在线国产毛片 | 日韩成人中文字幕 | 68久久久久欧美精品观看 | 国产成人精品一区二三区在线观看 | 韩国一级片视频 | 久热色| 波多野结衣中文一区二区免费 | 黄 色 三 片| 一区二区三区在线免费视频 | 亚洲一级毛片 | 视频精品一区二区 | 精品在线一区 | 一级成人黄色片 | 久久不雅视频 | 老司机亚洲精品影院 | 中文字幕日韩精品有码视频 | 国产vs久久 | 九九热播视频 | 久久久精品2018免费观看 | 亚洲免费人成在线视频观看 | 超清首页 国产 亚洲 丝袜 |