0
我試圖使用Python請求發送HTTP GET請求到需要客戶端證書的API。我傳遞一個PEM和密鑰文件導入使用Python請求獲取客戶端證書失敗
session = requests.Session()
session.get('https://localhost/rest/containers/7uyeogzKQayw4mmQmcJb2Q/listeners', cert=('development.pem', 'development.key'))
在進行此調用當GET請求,我使用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
- CERTIFI 2017年4月17日
任何幫助非常感謝。
乾杯 - 埃裏克
我不知道你想要說什麼。我已經將該證書添加爲get的調用中的元組。我試圖甚至改變使用請求的會話,但它仍然失敗。使用session.cert只是根據文檔設置證書的一種持久方式。 – Erik