python请求2.0.0-[Errno 8]_ssl.c:504:发生了违反p的EOF

2024-06-01 23:16:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用请求2.0.0,未能使用完成https GET请求:

requests.get('https://backend.iddiction.com/rest/v1/s2s/confirm_install?apphandle=slotsjourneyofmagic&appsecret=5100d103e146e2c3f22af2c24ff4e2ec&mac=50:EA:D6:E7:9B:C2&idfa=134DA32A-A99F-4864-B69E-4A7A2EFC6C25')

我得到这个错误:

[Errno 8] _ssl.c:504: EOF occurred in violation of protocol.

我在网上和这个网站上读了很多内容,但是我读到的每一个地方都说这些问题在版本2.0.0中已经解决了。

有人能给我建议吗?


Tags: installhttpscomrestbackendgetrequestsconfirm
1条回答
网友
1楼 · 发布于 2024-06-01 23:16:13

服务器要求您使用SNI,这在Python 2.x中通常是不可用的

如果在浏览器中打开该URL并使用Wireshark跟踪TLS握手,则可以看到Chrome提出服务器名称,远程服务器使用该名称来确定要使用哪个证书。

要在请求中执行此操作,您可以使用Python 3,其中包括SNI支持,并且哪些请求将透明地使用,也可以在Python 2.x的请求中安装SNI所需的依赖项from this answer

  • pyopenssl
  • ndg httpsclient公司
  • pyasn1型

这些解决方案中的任何一个都可以使代码正常工作。

相关问题 更多 >