2014-02-09 64 views
1

我試圖開始使用PRAW,但我遇到了使用login()的問題。帶PRAW的SSLError?

我有下面的代碼:

import praw 

r = praw.Reddit('This is a test bot') 
r.login('myRedditUsername','password') 

而且我得到以下錯誤:

requests.exceptions.SSLError: [Errno 1] _ssl.c:503: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 

有沒有解決這個之外禁用SSL的方法嗎?

回答

1

根據praw SSLError during login from shared hosting

It appears that your host doesn't have the proper SSL certificates installed. You can disable using SSL (not recommended) by adding

r.config._ssl_url = None 

after you create the PRAW object.

+0

感謝您的回覆。 我早些時候查看了該鏈接,但它不能完全解決我的問題,因爲我不希望禁用SSL。你知道我可以如何安裝SSL證書嗎? – perlponderer

+0

@perlponderer,Q1。你使用哪個操作系統? Q2。讓我看看'python -m requests.certs'的輸出。 – falsetru

+0

使用Mac OS X 10.9。 python -m requests.certs的輸出給了我:/Library/Python/2.7/site-packages/requests-2.2.1-py2.7.egg/requests/cacert.pem – perlponderer

0

UPD:所造成的誤差,加入我公司的內部證書的cacert.pem文件消失。

以下步驟:

  1. 發現你的瀏覽器使用內部證書和出口 它作爲Base64編碼格式。詳細描述如下: How to find the path to a SSL cert file?
  2. 查找請求包使用 (.. \ LIB \站點包\請求)的cacert.pem文件,複製過去在 cacert.pem文件一切的結束來自您的內部證書文件。

這是我的舊的答案,我暫時關掉SSL驗證

固定的問題我有同樣的問題在Windows 7上,不僅與登錄,但與任何要求reddit的。 r.config._ssl_url = None沒有做的伎倆或者,爲C創建praw.ini後:\用戶\ &用戶名\應用程序數據\漫遊\ praw.ini:

[reddit] 
validate_certs: False 

我終於做到了工作。雖然我有不安全的請求警告警告。如果像我這樣的人仍然在爲此付出努力,那麼想在這裏拋出。