3 回答

TA貢獻2019條經(jīng)驗 獲得超9個贊
此SSL錯誤(OSStatus代碼:9806)意味著由于建立連接時發(fā)生錯誤(例如,在某些無效命令上),服務器終止了您的連接。這似乎僅在到遠程主機的SSL連接介于兩者之間時才發(fā)生。
SSL手冊(SSL_get_error)沒有對此進行詳細說明,但是此錯誤消息來自libcurlSecureTransport / Darwinssl TLS后端使用的內(nèi)置消息(您可以在SecureTransport.h頭文件中找到其OSStatus ):
errSSLClosedAbort = -9806, /* connection closed via error */
根據(jù)我的經(jīng)驗,這通常發(fā)生在您位于代理后面或連接到使用身份驗證機制的受限網(wǎng)絡時。
因此,請確認您已通過WiFi連接到正確的網(wǎng)絡,并且其他HTTPS正常運行。如果不是,請檢查是否需要指定代理憑據(jù),或者您的ISP是否覆蓋了證書鏈并需要某種身份驗證,或者它基本上阻止了對其防火墻中某些站點的訪問。

TA貢獻1982條經(jīng)驗 獲得超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出現(xiàn)的許多情況之一的解決方案。
- 3 回答
- 0 關注
- 349 瀏覽
添加回答
舉報