python - _ssl.c :351: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib

标签 python ssl python-requests

我想连接到具有自签名证书的 Web 服务器,请求:

try:
    requests.get(url, cert=PATH_CERTIFICATE)
except requests.exceptions.ConnectionError as e:
    logger.info(e)

但它失败了:

[Errno 336265225] _ssl.c:351: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib

我通过运行此命令获得了此证书:

openssl s_client -showcerts -ssl3 -connect <hostname:port>

最佳答案

使用verify关键字,而不是cert:

requests.get(url, verify=PATH_CERTIFICATE)

关于python - _ssl.c :351: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740230/

相关文章:

python - Pandas 按 block 而不是单个值进行分组

ssl - 为什么 nginx 选择它选择的 SSL 版本和密码?

python - 在 django 应用程序中将 SSL 与 nginx 结合使用

python - 为什么具有正确 header 的 requests.get 返回空内容?

带有代理的 Python 请求导致 SSLError WRONG_VERSION_NUMBER

python - 如何在标题中添加 cookie?

python - 在 Python 3 中使用 UTF-8 解码 VIEWSTATE 字符串

python - 有效地比较任意分配的标签列表

python - 在其他两个日期之间生成一个随机日期

ssl - 如何在服务器上签署 ssl