【发布时间】:2017-10-09 13:46:01
【问题描述】:
我正在尝试使用 Python 请求向需要客户端证书的 API 发送 HTTP GET 请求。我正在使用
将 PEM 和密钥文件传递到 GET 请求中session = requests.Session()
session.get('https://localhost/rest/containers/7uyeogzKQayw4mmQmcJb2Q/listeners', cert=('development.pem', 'development.key'))
进行此调用时,我使用 NGINX 作为端点,我得到:
2017-10-07 21:18:16,874 - containerLogger - DEBUG - code:400 text:
<html>
<head><title>400 No required SSL certificate was sent</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<center>No required SSL certificate was sent</center>
<hr><center>nginx/1.12.1</center>
</body>
</html>
我已经使用相同的证书对相同的端点使用 POST 请求测试了相同的 API,并且它是成功的。我已经使用浏览器 (Firefox) 成功验证了相同的 GET。
我目前正在尝试找出 POST 成功但 GET 失败的原因。我在寻找答案时没有任何运气。
不确定这是由于请求还是 urllib3。
版本:
- Java 1.8
- Jython 2.7.1
- Python 2.7.10
- 请求 2.18.1
- urllib3
- 证书 2017.04.17
非常感谢任何帮助。
干杯 - 埃里克
【问题讨论】:
标签: python python-requests urllib3