【发布时间】:2018-02-21 08:58:27
【问题描述】:
在使用 MacOS X 的 Python 中,尝试向网站发出 POST 请求,但出现以下错误 post_response = session.post(post_url, data=post_payload, headers=post_headers):
Traceback (most recent call last):
File "web_requests.py", line 424, in <module>
main()
File "web_requests.py", line 340, in main
post_response = session.post(post_url, data=post_payload, headers=post_headers)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 535, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 497, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590)
可能是什么问题?
提前感谢您,一定会支持/接受答案
编辑
特定于 Python 中的 POST 请求
【问题讨论】:
-
@OluwafemiSule 它与我的特定问题没有具体关系
-
@OluwafemiSule 不一样
-
“特定于 POST 请求”是什么意思? GET 请求不会出现 SSLError 吗?
-
此问题与此处的许多其他问题相似,但细节太少,无法真正了解问题的多种可能性。请提供 URL、python 的完整版本和使用的 openssl 库 (
python -c 'import ssl; print ssl.OPENSSL_VERSION')。我的猜测是,问题是由 MacOSX 附带的非常旧的 OpenSSL 版本 0.9.8 引起的,不支持现代密码和 TLS 协议版本 - 但这只是众多可能性之一。 -
@SteffenUllrich
Python 2.7.10,OpenSSL 0.9.8zg 14 July 2015
标签: python python-2.7 ssl openssl python-requests