簡體   English   中英

SSLError使用python請求

[英]SSLError using requests for python

我嘗試在Quickstart中為請求執行第一個命令:

>>> import requests
>>> r = requests.get('https://github.com/timeline.json')

但是我收到以下錯誤消息:

Traceback (most recent call last):
  File "./main.py", line 16, in <module>
    requests.get('https://github.com/timeline.json')
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 383, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/sessions.py", line 486, in send
    r = adapter.send(request, **kwargs)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests/adapters.py", line 385, in send
    raise SSLError(e)
requests.exceptions.SSLError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

我對SSL證書完全不熟悉,但我懷疑它與Python在錯誤的地方有關。 我下載了Python 2.7並使用它作為我的默認Python(我正在運行Mac OSX 10.6(Snow Leopard),它隨Python 2.6一起提供)。 我遇到了很多問題,我的Mac在錯誤的地方尋找Python的東西,直到我修復了路徑並創建了符號鏈接,但我想知道是否還有其他與導致此SSL錯誤的升級有關的東西? 或者它可能是與此無關的東西。

我已經嘗試搜索類似的問題並閱讀一些人的建議只是為了在requests.get()添加參數verify=False ,但我不想這樣做,因為我認為這只是避免了真正的問題。 感謝您幫助一個完整的新手。

你可以試試這個。

驗證證書的路徑:

>>> requests.get('https://whatever.com', verify='/path/to/certfile')

要么

>>> requests.get('https://whatever.com', cert=('/path/server.crt', '/path/key'))

http://docs.python-requests.org/en/latest/user/advanced/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM