日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫ssl错误_Python爬虫:Requests的SSLError:certificate verify failed问题解决方案6条...

發布時間:2025/3/8 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫ssl错误_Python爬虫:Requests的SSLError:certificate verify failed问题解决方案6条... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題:腳本是用Python寫的,用到開源庫play-scraper,調用其collectionAPI來獲取Google Play的Top App列表。該庫使用了requests作為客戶端來對Google Play進行操作。當腳本執行時,會報如下錯誤:certificate verify failed。

File "/home/me/py3.4/lib/python3.4/site-packages/urllib3/util/ssl_.py", line 325, in ssl_wrap_socket

return context.wrap_socket(sock, server_hostname=server_hostname)

File "/usr/local/lib/python3.4/ssl.py", line 365, in wrap_socket

_context=self)

File "/home/me/py3.4/lib/python3.4/site-packages/gevent/_ssl3.py", line 232, in __init__

raise x

File "/home/me/py3.4/lib/python3.4/site-packages/gevent/_ssl3.py", line 228, in __init__

self.do_handshake()

File "/home/me/py3.4/lib/python3.4/site-packages/gevent/_ssl3.py", line 545, in do_handshake

self._sslobj.do_handshake()

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "/home/me/py3.4/lib/python3.4/site-packages/requests/adapters.py", line 440, in send

timeout=timeout

File "/home/me/py3.4/lib/python3.4/site-packages/urllib3/connectionpool.py", line 630, in urlopen

raise SSLError(e)

urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

定位過程

仔細分析Traceback,發現問題出在def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None)中。注意verify參數,默認為True。在play-scraper中也是將其設為True的,說明在SSL握手過程中要驗證certificate的。

Google了一下錯誤信息,大致有以下幾種解決方法:

1. 將verify設為False,不驗證certificate

參考:https://stackoverflow.com/a/30373147/2510797

簡單粗暴,但是有效。不報錯誤了,但總是有Insecure request的告警。對于有代碼潔癖的本人來說,這顯然是不能接受的,除非時間非常緊迫。繼續定位。

2. 更新系統的certificate。

參考:https://stackoverflow.com/a/24212501/2510797

sudo apt-get install ca-certificates

看了一下所用Linux系統的ca-certificates package,確實比較老了,但之前一直沒有問題。死馬當活馬醫試試吧,但問題依舊。

3. 指定系統certificate的路徑

參考: https://stackoverflow.com/a/16085737/2510797

Linux系統certificate的certificate路徑在/etc/ssl/certs。使用verify="/etc/ssl/certs"試試,發現確實不報錯誤了。但是這個方法的弊端也是顯而易見:play-scraper并沒有在API中提供傳入參數verify,必須要修改其代碼才行。不同的操作系統,其certificate存放的位置肯定不一樣,要是代碼支持跨平臺,就需要判斷操作系統的類型,然后傳入相應的verify值。對于一個相對使用比較廣泛的requests庫來說,這么做顯然不太合理。

4. 使用certifi的certitificate路徑

參考:https://stackoverflow.com/a/35791445/2510797

看了一下requests的文檔,發現它使用了certifi package。然后再去看certifi的文檔,發現其certificate路徑有兩個:certifi.where()和certifi.old_where()。快速瀏覽了一下requests的源碼,發現如果verify=True的話,所用的certificate就是certifi.where(),所以就試了一下old_where(),居然不報錯了。但看到certifi的文檔中建議盡量不要用old_where(),所以還是不甘心,繼續定位。

5. 安裝requests的security extras

參考:https://stackoverflow.com/a/39580231/2510797

pip install -U requests[security]

注意后面的方括號,pip會安裝三個security相關的package:pyopenssl cryptography idna。

試了一下,果然有效,不再報錯。再去讀requests和urllib3的源碼,發現確實使用了pyopenssl。具體是怎么用的,還沒有來得及分析。

至此個人覺得比較好的解決方法基本成型:修改play-scraper的dependency,使用requests[security]來安裝那三個安全相關的包。

另外,系統的openssl版本太舊或太新也可能會造成問題。在目前最新版本的openssl上,該解決方法是有效的。

6.anaconda版的python問題

如果你在第一次使用requests時出現SSL錯誤:SSLError("Can’t connect to HTTPS URL because the SSL " urllib3.exceptions.SS,如果你是用的anaconda版的python,那么只要裝python原版就好了,原帖附上:

大致就是說anaconda版的python是用的anaconda自己的SSL庫,所以會報錯,換回原版python就不會有這個問題。

總結:使用開源軟件的好處是可以看實現源碼,花點時間讀源碼,調試定位,問題基本不難解決。但是文檔有可能不是那么完備,需要進行Google或仔細讀源碼。希望自己的分析思路對別人有所幫助吧。

總結

以上是生活随笔為你收集整理的python爬虫ssl错误_Python爬虫:Requests的SSLError:certificate verify failed问题解决方案6条...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 97在线看| 亚洲欧美久久 | 日韩一级理论片 | 亚洲精品乱码久久久久久蜜桃动漫 | 午夜精品久久久久久久99热黄桃 | 激情一区二区 | 成人污视频 | 亚洲一区二区三区四区五区六区 | 色综合区| 天天澡天天狠天天天做 | 久久精品久久久 | 国产极品美女高潮无套在线观看 | 超碰97色| 午夜免费一级片 | 国产精品成人一区二区 | 久久久久久av无码免费网站 | 男女啪动最猛动态图 | 毛片天堂 | 免费超碰在线观看 | 黄视频网站在线 | 捆绑调教sm束缚网站 | 亚洲精品视频在线观看视频 | 综合网中文字幕 | 宅男的天堂 | 国产日韩精品一区二区三区 | 亚洲色图少妇 | 国产成人亚洲一区二区 | 中文一区视频 | 依依成人在线视频 | 精品久久伊人 | 日韩天堂在线视频 | 亚洲成人v | 欧美黑人一级 | 69精品久久久久久 | 亚洲欧美另类图片 | 牛牛在线免费视频 | 香蕉视频99 | 欧美少妇喷水 | 国产情侣呻吟对白高潮 | 午夜男人av | 亚洲精品v天堂中文字幕 | 青青青国产精品一区二区 | 涩涩涩涩涩涩涩涩涩涩 | 国产精品熟女视频 | 欧美日韩久久久久 | 久久久不卡国产精品一区二区 | 中国黄色a级 | 成人毛片18女人毛片免费 | 91精品日韩| 人妻少妇精品无码专区久久 | 日韩国产综合 | 美女视频91 | 一区二区三区在线播放视频 | 国产福利久久久 | 欧美黑人狂野猛交老妇 | 一区二区三区精品国产 | 2025国产精品 | 黄色一级视频在线观看 | 麻豆影视在线 | 精品国产乱码久久久久 | 制服 丝袜 综合 日韩 欧美 | 日韩欧美视频网站 | 黄网站在线观看视频 | 久久久久97 | 日韩黄色小视频 | 亚洲一卡二卡 | 人妻体内射精一区二区 | 无码精品国产一区二区三区 | 被扒开腿一边憋尿一边惩罚 | 欧美大色一区 | 超碰五月天 | 亚洲色偷精品一区二区三区 | 日本黄色高清 | 永久av网站 | 成人a在线观看 | 好色综合 | 亚洲日本国产精品 | 91狠狠干 | 色九九视频| 俄罗斯美女av | 久久91亚洲| 午夜福利毛片 | 成人精品视频在线 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 欧美乱大交 | 99久久国产热无码精品免费 | 亚洲国产成人精品久久久 | 男女瑟瑟网站 | 99久久精品免费 | 欧洲久久久 | 啪免费视频 | 一区二区三区四区av | 日本中文字幕有码 | 91久久综合亚洲鲁鲁五月天 | 成人v | 黄色无毒网站 | av美女在线| 成人精品国产 | 美女一级片 |