Как исправить сообщение об исключении — «Ошибка аутентификации из-за того, что удаленная сторона закрыла транспортный поток» в .Net 4.5

#c# #xmlhttprequest #httpwebrequest #webrequest

#c# #xmlhttprequest #httpwebrequest #webrequest

Вопрос:

Получение сообщения об исключении ошибки — «Ошибка аутентификации не удалась, поскольку удаленная сторона закрыла транспортный поток», я использую .Net 4.5.2, C#

Ниже приведен код —

 HttpWebRequest request = null; request = WebRequest.Create("https://msedgedriver.azureedge.net") as HttpWebRequest;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

ServicePointManager.DefaultConnectionLimit = ServicePointManager.DefaultPersistentConnectionLimit;

((HttpWebRequest)request).KeepAlive = false;


// Error received at line below -  
HttpWebResponse response =  request.GetResponse() as HttpWebResponse;

  

Я могу прочитать XML-ответ в postman и браузере, но приведенный выше код выдает исключение — «Базовое соединение было закрыто: при отправке произошла непредвиденная ошибка». с InnerException как «Ошибка аутентификации не удалась, поскольку удаленная сторона закрыла транспортный поток»

Пожалуйста, сообщите

Комментарии:

1. Вы должны удалить TLS 1.0 и 1.1, которые больше не принимаются серверами из вашего клиентского кода. Сколько времени требуется для возникновения исключения? Если прошло 30 секунд, возможно, вы обращаетесь к прокси-серверу, и вам может потребоваться установить для прокси значение null (запрос. Прокси = null). Net 4.5.2 может не поддерживать TLS 1.3, и это, возможно, также потребуется удалить.

2. @jdweng, для возникновения исключения требуется менее 10 секунд. Тем не менее, я удалил TLS 1.0 и 1.1, но исключение все еще происходит.

3. Также удалите SSl3. Он больше не используется. Раньше он не смотрел внимательно и думал, что SSL3 был TLS3.

4. @jdweng, я удалил SSL3, но то же исключение, а затем также удалил последний TLS1.2, то же исключение все еще существует.

5. Либо сертификат загружен неправильно, режим шифрования сертификата несовместим с TLS 1.2 ( en.wikipedia.org/wiki/Transport_Layer_Security ), или вам нужны горячие патчи на следующие: learn.microsoft.com/en-us/dotnet/framework/network-programming /…