0
我正在尝试使用请求模块向需要ssl身份验证的端点发出发布请求。我的pem文件在指定的路径中,包含客户端证书和私钥。但是,我不断收到证书验证失败异常。我在nginx日志中看到,请求甚至从未将它发送到那里。任何人有任何想法为什么?我知道这些证书应该起作用。Python请求模块。 SSL证书验证错误
params = {
"param_2" : "32100",
"param_1" : "abc"
}
headers = {
"Content-Type" : "application/json"
}
body = json.dumps(params)
r = requests.post(
https://somesite.com/somepath,
data=body,
headers=headers,
timeout=10,
verify="/path/to/cert.pem"
)
Traceback (most recent call last):
File "./somefile.py", line 264, in <module>
start()
File "./somefile.py", line 149, in start
verify="/path/to/cert.pem"
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 88, in post
return request('post', url, data=data, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 448, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 554, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 417, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
是的,它与“verify = False”一起工作。谢谢! – user695624 2014-09-04 05:24:25
verify = False可能不是你想要的..如果你没有验证证书,那么使用SSL是没有意义的。 – synthesizerpatel 2014-09-04 12:51:38