3 回答
TA贡献2019条经验 获得超9个赞
此SSL错误(OSStatus代码:9806)意味着由于建立连接时发生错误(例如,在某些无效命令上),服务器终止了您的连接。这似乎仅在到远程主机的SSL连接介于两者之间时才发生。
SSL手册(SSL_get_error)没有对此进行详细说明,但是此错误消息来自libcurlSecureTransport / Darwinssl TLS后端使用的内置消息(您可以在SecureTransport.h头文件中找到其OSStatus ):
errSSLClosedAbort = -9806, /* connection closed via error */
根据我的经验,这通常发生在您位于代理后面或连接到使用身份验证机制的受限网络时。
因此,请确认您已通过WiFi连接到正确的网络,并且其他HTTPS正常运行。如果不是,请检查是否需要指定代理凭据,或者您的ISP是否覆盖了证书链并需要某种身份验证,或者它基本上阻止了对其防火墙中某些站点的访问。
TA贡献1982条经验 获得超2个赞
我也有类似的SSLRead() return error -9806错误问题,也有SSL Version => SecureTransport。
但就我而言,问题是我设置了curl CURLOPT_HTTP_VERSION选项:
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
如果删除该选项,则cURL将决定默认使用哪个版本。有关更多信息,请参见curl_setopt文档。
这对我有用,并且我不需要使用cURL或PHP进行任何更改。但这是error -9806出现的许多情况之一的解决方案。
- 3 回答
- 0 关注
- 326 浏览
添加回答
举报