2016-12-06 213 views
0

任何人都遇到此錯誤? kCFErrorDomainCFNetwork錯誤311Cordova ajax調用kCFErrorDomainCFNetwork錯誤311

我寫了一個簡單的在iPad上運行的cordova應用程序(iOS 9以上)。此應用程序調用HTTPS api,但會拋出此錯誤kCFErrorDomainCFNetwork error 311

請注意,HTTPS服務器具有有效的CA頒發的SSL證書。

我用Google搜索了很多關於這個錯誤,但沒有任何的運氣,只有成功地發現了這個cfStreamErrorHTTPSProxyFailureUnexpectedResponseToCONNECTMethod有311 int值,它說的是

HTTPS代理返回了意外的狀態代碼,如3XX 重定向

事實上,我正在調用返回一個302不幸的是我沒有控制的資源。

而要訪問https服務器,我必須專門連接到IP地址在https服務器上列入白名單的wifi代理。

我希望來自這個偉大社區的人能夠提供一些關於這個錯誤的信息。

謝謝。

回答

0

我也收到了同樣的錯誤。問題在於,您在發送請求之前通過需要進行身份驗證的代理訪問網絡。 就你而言,通常如果你在系統瀏覽器中訪問互聯網,你可能在你的瀏覽器或系統首選項 - >網絡 - >高級 - >代理中設置了代理設置(以及身份驗證)。 爲了解決URL請求中的身份驗證問題,Apple給出了這方面的文檔 - https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/URLLoadingSystem/Articles/AuthenticationChallenges.html。 簡單的模型實現請參考Simple example of NSURLSession with authentication