gpt4 book ai didi

python - PRAW 的 SSLError?

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:24 26 4
gpt4 key购买 nike

我正在尝试开始使用 PRAW,但在使用 login() 时遇到问题。

我有以下代码:

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 之外,还有其他解决方法吗?

最佳答案

TL;DR: _ssl_url doesn't work in PRAW 4 .使用带有 Session.verify 的自定义请求 session 。

对于 PRAW 4 或更高版本:

根据 PRAW's developer ,在 PRAW 4 中删除了使用 config._ssl_url = None 的选项。相反,您可以使用自定义请求 Session配置您自己的 SSL 设置。

假设您在 a company network with self-signed certificates 上,您有两个选择。

选项 1 - 信任自签名证书

首先,将贵公司的根证书导出为 .pem 文件。 (参见 Export a PEM-Format Certificate From a Windows System)

接下来,创建一个 Requests session 并指定一个直接指向您的证书文件的路径。

import praw
import requests

session = requests.Session()
session.verify = '/path/to/certfile.pem' # Path to cert file
reddit = praw.Reddit(client_id='###',
client_secret='###',
user_agent='windows:testapp (by /u/stevoisiak)',
requestor_kwargs={'session': session})

选项 2 - 禁用 SSL 验证(不安全)

此方法将完全禁用所有请求的 HTTPS 验证。虽然此方法很简单,但出于安全原因,强烈不建议使用。 (参见 SSL Warnings)

import praw
import requests

session = requests.Session()
session.verify = False # Disable SSL
reddit = praw.Reddit(client_id='###',
client_secret='###',
user_agent='windows:testapp (by /u/stevoisiak)',
requestor_kwargs={'session': session})

另见

关于python - PRAW 的 SSLError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21655478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com