2
我已閱讀了大多數與SSL/TLS錯誤相關的其他問題。這個問題不在PayPal中(因爲許多其他問題),我嘗試設置SecurityProtocol並使用始終返回true的ServerCertificateValidationCallback。這些都沒有改變行爲,即請求第一次成功完成,然後失敗,然後成功,然後失敗。我可以在每次重新啓動應用程序時重複這種行爲。無法每隔其他請求創建SSL/TLS安全通道
下面是代碼:
HttpClient client = new HttpClient();
string url = "https://secure.geonames.net/countryInfoJSON?lang=" +
HttpUtility.UrlEncode(lang) + "&username=username";
var countryResponse = await client.GetAsync(url);
如果我使用HTTP發出請求到服務,而不是HTTPS,它工作正常,每一次。如果我從Chrome瀏覽器訪問https網址,則每次都可以運行。但是,上面的代碼每秒都會失敗。爲什麼?
這裏是堆棧跟蹤:
<Message>An error has occurred.</Message>
<ExceptionMessage>
The request was aborted: Could not create SSL/TLS secure channel.
</ExceptionMessage>
<ExceptionType>System.Net.WebException</ExceptionType>
<StackTrace>
at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
</StackTrace>
有沒有設置任何本地代理? –
這很棘手,特別是因爲我無法複製它。該域映射到三個不同的IP。也許你的程序是循環解析到不同的服務器,並且其中一臺服務器的配置方式可能會失敗,但[SSLLabs](https://www.ssllabs.com/ssltest/analyze.html?d = secure.geonames.net)不報告(即使他們的TLS不安全,它應該工作)。 是否有內部異常?異常的「HResult」是什麼? – vcsjones