Ошибка базовое соединение закрыто соединение было неожиданно закрыто

I’m writing a .NET application which is supposed to post data to another .NET application.
I use the following code to request the login page

WebProxy proxy = new WebProxy("http://proxy:80/", true);
HttpWebRequest webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
//proxy.Credentials = new NetworkCredential("myusername", "mypassword", "domain"); 
// webRequest.Proxy = proxy;
webRequest.Proxy = WebRequest.DefaultWebProxy;

StreamReader responseReader = new StreamReader
                                  (webRequest.GetResponse().GetResponseStream());
string responseData = responseReader.ReadToEnd();

but it fails on this line

StreamReader responseReader = new StreamReader
                                  (webRequest.GetResponse().GetResponseStream());

with the error message :

System.Net.WebException: The underlying connection was closed: The connection was 
                         closed unexpectedly.

SteveC's user avatar

SteveC

15.6k23 gold badges101 silver badges173 bronze badges

asked Sep 22, 2009 at 11:19

Kwah009's user avatar

5

In my case, this solved the problem:

System.Net.ServicePointManager.Expect100Continue = false;

and none of the above.

SuleymanSah's user avatar

SuleymanSah

16.7k5 gold badges32 silver badges52 bronze badges

answered Oct 6, 2012 at 23:40

Ivan Ičin's user avatar

Ivan IčinIvan Ičin

9,6435 gold badges36 silver badges55 bronze badges

2

I encountered the same exception a while ago and I remember that this happens in some cases due to a bug in .NET. You can work around this by setting the Timeout and ReadWriteTimeout of the request to higher values, or set KeepAlive to false.

This would only be a workaround, though, so I suggest you try to find the actual root cause before assuming anything.

I’ll try to come up with some web references, in the mean time, look at
Big files uploading (WebException: The connection was closed unexpectedly)

Community's user avatar

answered Sep 22, 2009 at 11:38

Rik's user avatar

RikRik

28.4k14 gold badges48 silver badges67 bronze badges

1

Seems like to possible issues:

  1. You never assign the proxy you create to your HttpWebRequest

    WebProxy **proxy** = new WebProxy("http://proxy:80/", true);
    HttpWebRequest webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
    //proxy.Credentials = new NetworkCredential("myusername", "mypassword", "domain"); 
    // webRequest.Proxy = proxy;
    webRequest.Proxy = **WebRequest.DefaultWebProxy**;
    

    You should assign it like this:

    WebProxy proxy = new WebProxy("http://proxy:80/", true);
    HttpWebRequest webRequest = WebRequest.Create(LOGIN_URL) as HttpWebRequest;
    webRequest.Proxy = proxy;
    

    (notice the difference in the last line).

  2. You use port 80 on your proxy. Sure that is correct? Many proxies use port 8080.

Malachi's user avatar

Malachi

3,2064 gold badges29 silver badges46 bronze badges

answered Dec 4, 2009 at 11:37

Erik A. Brandstadmoen's user avatar

2

Faced the same error for using http GET for an API that used https. Might be of help to someone.

answered Jun 28, 2021 at 6:15

Jehan Perera's user avatar

I had this issue once. My virus protection was the culprit.

answered May 29, 2015 at 15:59

Dan Gifford's user avatar

Dan GiffordDan Gifford

8781 gold badge9 silver badges33 bronze badges

In my case I needed to setup proxy settings to allow not only HTTP but HTTPS on the same port as well, because one of requests was sent by HTTPS protocol.

answered Apr 15, 2014 at 20:49

dred17's user avatar

dred17dred17

1392 silver badges17 bronze badges

It was different case for me. Query was taking too long hence connection was timing out. There are five timeouts in WCF
1. Send Timeout — Default 1 min
2. Receive Timeout — Default 1 min
3. Open Timeout — Default 1 min
4. Close Timeout — Default 1 min
5. Inactivity Timeout- Default 10 min

I had set Send and Receive time out correctly but problem was due inactivity timeout as query was too long on server, WCF Service was closing channel hence it was failing to transmit back the response.
Hope this helps if you are using WCF to get response from server which takes long time to run.

answered May 8, 2015 at 15:31

Softec's user avatar

SoftecSoftec

1,07711 silver badges14 bronze badges

myHttpWebRequest.Credentials = CredentialCache.DefaultCredentials;

this is the solution

animuson's user avatar

animuson

53.6k28 gold badges137 silver badges147 bronze badges

answered Jun 30, 2010 at 13:09

Mak's user avatar

Студворк — интернет-сервис помощи студентам

Доброго времени суток, пытаюсь подключиться к сайту таким образом.

C#
1
2
3
Uri uri = new Uri("http://site.ru/");
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(uri);
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();

И в третей строке получаю ошибку
«Исключение типа «System.Net.WebException» возникло в System.dll, но не было обработано в коде пользователя

Дополнительные сведения: Базовое соединение закрыто: Соединение было неожиданно закрыто.»

Проблема с доступом только к одному сайту, к другим подключается нормально, в браузере сайт доступен. В чем может быть причина ?
Заранее спасибо за помощь.

Ошибка при конфигурации сервера через мастер конфигурации: Базовое соединение закрыто. Непредвиденная ошибка при передаче/приеме. Взаимодействие клиента и сервера невозможно, т.к. у них разный алгоритм работы.

Проблема встречается, если принудительно отключить протоколы старых версий SSLTLS, например через GPO.

Варианты ошибок:


Решение: 

Включение TLS1.0, TLS1.1, TLS1.2 и настройка strong cryptography для .NET Framework: https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2-server#bkmk_net

Добавление веток реестра:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv2.0.50727]
      «SystemDefaultTlsVersions» = dword:00000001
      «SchUseStrongCrypto» = dword:00000001

[HKEY_LOCAL_MACHINESOFTWAREMicrosoft.NETFrameworkv4.0.30319]
      «SystemDefaultTlsVersions» = dword:00000001
      «SchUseStrongCrypto» = dword:00000001 

[HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoft.NETFrameworkv2.0.50727]
      «SystemDefaultTlsVersions» = dword:00000001
      «SchUseStrongCrypto» = dword:00000001

[HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeMicrosoft.NETFrameworkv4.0.30319]
      «SystemDefaultTlsVersions» = dword:00000001
      «SchUseStrongCrypto» = dword:00000001

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Client]
«Enabled»=dword:ffffffff
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.0Server]
«Enabled»=dword:ffffffff
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Client]
«Enabled»=dword:ffffffff
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.1Server]
«Enabled»=dword:ffffffff
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client]
«Enabled»=dword:ffffffff
«DisabledByDefault»=dword:00000000

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]
«Enabled»=dword:ffffffff
«DisabledByDefault»=dword:00000000

Примечание: Данные настройки могут быть сброшены GPO!

Типовые проблемы при работе со СБИС Коннектом

При обмене данными между СБИС и вашей информационной системой через СБИС Коннект могут возникать ошибки. Информация о них отобразится в интерфейсе утилиты или логах отправки.

Проблемы при запуске программы

  • Невозможно создать папку
  • Непредвиденная ошибка драйвера внешней базы данных (15877)
  • Ошибка авторизации на сервере
  • Ошибка аутентификации на сервере. Не удалось получить закрытый ключ и активировать сертификат с отпечатком
  • Ошибка регистрации службы СБИС Коннекта под пользовательской учетной записью

Проблемы при отправке и получении документов

  • Выгрузка статусов невозможна, достигнуто ограничение
  • Вызов метода «СБИС.СписокСлужебныхЭтапов» заблокирован согласно назначенным правам
  • Для запуска документа в документооборот необходимо назначить получателя
  • Не выгружаются входящие документы
  • На документе не указана организация-отправитель
  • Не допускается совпадение отправителя и получателя
  • Не найден сертификат ЭП для подписания документов
  • Не найден файл при отправке документов
  • В некоторых файлах обнаружены ошибки. Отправка с ошибками запрещена
  • Неверно указан ИНН/КПП
  • Объект не найден ядром базы данных Microsoft Jet
  • Отправитель документа не участвует в документообороте
  • Ошибка «WinHTTP 12002» или «WinHTTP 12152»
  • Ошибка «Не удалось скачать архив ЭЛО/ЭДО»
  • Ошибка при выполнении файловой операции
  • Ошибка при автоматическом обновлении СБИС Коннекта в режиме службы
  • Ошибка при обработке события
  • Ошибка при отправке документов: «Не удается найти указанный поставщик»
  • Обрезаются длинные значения ячеек при обработке файлов *.xls и *.xlsx.
  • Ошибка при отправке документов: «PRP Не удалось открыть файл»
  • PRP Ошибка создания документов: Не найден указанный файл

СБИС Коннект

Ошибки СБИС Коннект

Типовые проблемы

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.

Все для эффективного участия в торгах

Получить бесплатный доступ

или

заказать обратный звонок

Попробовать бесплатно

Обратный звонок

Seldon partner синий

Главная/FAQ/База знаний/Seldon 1.7: Ошибка: Базовое соединение закрыто: Непредвиденная ошибка при приеме

Ошибка: Базовое соединение закрыто: Непредвиденная ошибка при приеме

Дата публикации: 22.10.2021

Seldon 1.7: Ошибка: Базовое соединение закрыто: Непредвиденная ошибка при приеме

Устранение ошибки: Базовое соединение закрыто: Непредвиденная ошибка при приеме

Если при установки выходит ошибка, связанная с блокировкой сервера, то нужно скорректировать настройки КриптоПРО.

Например:

  • Базовое соединение закрыто: Непредвиденная ошибка при приеме


Seldon Непредвиденная ошибка при приеме


Решение:

1. Необходимо проверить настройки подключения

Инструкция по настройке сервера

2. Данная ошибка возникает при установленном КриптоПРО. В данном случае в настройках необходимо указать:

  • «Требовать проверку подлинности пользователя для удаленных подключений путем проверки подлинности на уровне сети» — Отключить
  • «Установить уровень шифрования клиентских подключений» — Включить — Низкий

Seldon КриптоПРО

Copyright © 2008 — 2023 Ваши данные конфиденциальны и служат только для связи с менеджером!

Доброго всем времени суток!

Я хочу использовать Client Application Services, для этого решил ознакомиться и попробовать пройти примеры из этой ссылки: http://msdn.microsoft.com/en-us/library/bb546195(v=VS.90).aspx

Поначалу все было хорошо. Но теперь все время выскакивает ошибка — Базовое соединение закрыто: Непредвиденная ошибка при приеме. При вызове метода:

bool isAuthorized = false;
  try
  {
  // Call ValidateUser with empty strings in order to display the 
  // login dialog box configured as a credentials provider.
  isAuthorized = Membership.ValidateUser(
   String.Empty, String.Empty); // <--- ЗДЕСЬ ошибка

  
  }
  catch (System.Net.WebException)
  {
  if (DialogResult.OK == MessageBox.Show(
   "Unable to access the authentication service." +
   Environment.NewLine + "Attempt login in offline mode?",
   "Warning", MessageBoxButtons.OKCancel,
   MessageBoxIcon.Warning))
  {
   ConnectivityStatus.IsOffline = true;
   isAuthorized = Membership.ValidateUser(
   String.Empty, String.Empty);
   
   
  }
  }

  if (!isAuthorized)
  {
  MessageBox.Show("Unable to authenticate.", "Not logged in",
   MessageBoxButtons.OK, MessageBoxIcon.Error);
  Application.Exit();
  }
  return isAuthorized;
 }

Подскажите что случилось с вэб сервисом? 

P.S. Когда вэб-сервис работал, через профайлер sql сервера я видел обращения к базе. Сейчас же никаких обращений нет.

Дополнение: VS 2008 SP1 .NET 3.5 Windows XP

Используется внутренний вэб сервер студии — ASP.NET Development Server

Во время возникновения ошибки с Событиях Windows появляются следующие сообщения:

Код события: 3005 

Сообщение о событии: Возникло необработанное исключение. 

Время события: 26.10.2010 13:21:55 

Время события (UTC): 26.10.2010 9:21:55 

Идентификатор события: 249a08db8bee4c059cbb12343a99ff13 

Последовательность событий: 2 

Появление события: 1 

Код подробностей события: 0 

Сведения о приложении: 

    Домен приложения: 7b2c11fe-1-129325585149428287 

    Уровень доверия: Full 

    Виртуальный путь к приложению: /ProfitWeb 

    Путь к приложению: E:WIN_DEVELOPProfitAuthServiceProfitWeb 

    Имя компьютера: PORAA 

Сведения о процессе: 

    Идентификатор процесса: 3740 

    Имя процесса: WebDev.WebServer.exe 

    Имя учетной записи: ID_BLABLAporaa 

Сведения об исключении: 

    Тип исключения: HttpException 

    Сообщение об исключении: После передачи заголовков HTTP перенаправление невозможно. 

Сведения о запросе: 

    URL запроса: http://localhost:55555/ProfitWeb/Authentication_JSON_AppService.axd/Login 

    Путь запроса: /ProfitWeb/Authentication_JSON_AppService.axd/Login 

    Адрес узла пользователя: 127.0.0.1 

    Пользователь:  

    Проверка подлинности: False 

    Тип проверки подлинности:  

    Имя учетной записи потока: ID_BLABLAporaa 

Сведения о потоке: 

    Идентификатор потока: 4 

    Имя учетной записи потока: ID_BLABLAporaa 

    Выполняется олицетворение: False 

    Трассировка стека:    в System.Web.HttpResponse.Redirect(String url, Boolean endResponse)

   в System.Web.Security.FormsAuthenticationModule.OnLeave(Object source, EventArgs eventArgs)

   в System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   в System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Подробности пользовательского события: 

Дополнительные сведения можно найти в центре справки и поддержки, в «http://go.microsoft.com/fwlink/events.asp».

Ошибка ‘Не найдено ни одного сервера с размещенным сервисом’    оглавление    Ошибка ‘Запрос был прерван: Не удалось создать защищенный канал SSL/TLS’.

2022-08-23T15:04:56+00:00

Проблема

Начиная с 13.08.2022 перестали скачиваться исправления (патчи) к конфигурациям с ошибкой:

«The underlying connection was closed: An unexpected error occurred on a send»

или то же самое на русском

«Базовое соединение закрыто: Непредвиденная ошибка при передаче.»

Временное решение

Как временное решение, можно использовать:

  • установку исправлений (патчей) из самой 1С
  • из обновлятора из локальной папки: ссылка

Причина и ход решения

15.08.2022 Предварительно, я полагаю, что у сервиса 1С изменились технические требования к версии протокола шифрования, который используется для соединения (исправления, в отличие от обновлений скачиваются через API соответствующего сервиса 1С). Сегодня (в понедельник) я приступил к решению проблемы — на днях будет новый билд, я напишу о его выходе в соц. сетях (vk, tg) и на этой страничке.

16.08.2022 Да, дело в изменившейся минимальной версии TLS, которую требует сервис 1С для скачивания исправлений. Сегодня, максимум завтра выйдет новая версия обновлятора, где часть кода, ответственная за скачивание исправлений будет вынесена в отдельный исполняемый файл, который для своего выполнения потребует также установленный на компьютере .Net Framework 4.5 (в большинстве современных ОС он уже входит в систему).  Это ещё один довод в пользу запланированного на начало следующего года полного перехода на эту версию фреймворка (сейчас большая часть функционала обновлятора требует только .Net Framework 3.5).

16.08.2022 Вышла версия обновлятора от 16 августа с решением возникшей проблемы. Нажмите кнопку «Скачать новый обновлятор» внизу главного окна уже установленного обновлятора. Восстановлена возможность скачивания исправлений (патчей). Обратите внимание, что для скачивания исправлений (патчей) теперь необходим также установленный .Net Framework 4.5 или выше (он уже предустановлен в большинстве современных ОС). После обновления обновлятора на эту версию сразу проверьте возможность скачивания новых исправлений — если необходимой версии .Net Framework у вас на компьютере нет — обновлятор скажет об этом и даст соответствующую ссылку для установки. На начало 2023 года запланирован полный переход обновлятора на .Net Framework 4.5: ссылка.

23.08.2022 На старых ОС для корректной работы TLS должны быть установлены некоторые обновления, иначе возникает ошибка ‘Не удалось создать защищенный канал SSL/TLS’ или ‘Could not create SSL/TLS secure channel’: подробнее здесь.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Ошибка ‘Не найдено ни одного сервера с размещенным сервисом’    оглавление    Ошибка ‘Запрос был прерван: Не удалось создать защищенный канал SSL/TLS’.

«Базовое соединение закрыто: непредвиденная ошибка при передаче.». Почтальон идет нормально с теми же заголовками

сценарий

  • Win10 x64
  • VS2013

Я пытаюсь сделать WebRequest, но я получаю следующую ошибку:

базовое соединение закрыто: непредвиденная ошибка при передаче.

копаясь во внутреннем исключении, я получил:

«Не удается прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленный хост.»

код, который выполняет запрос, следующий:

private static Hashtable exec (String method, String uri, Object data, String contentType) {
    Hashtable response;

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create (API_BASE_URL + uri);

    request.UserAgent = "MercadoPago .NET SDK v"+MP.version; //version resolves to 0.3.4
    request.Accept = MIME_JSON; // application/json
    request.Method = method; //GET
    request.ContentType = contentType; //application/json
    setData (request, data, contentType); //setData in this case does nothing.

    String responseBody = null;
    try {
      HttpWebResponse apiResult = (HttpWebResponse)request.GetResponse (); //Error throws here
      responseBody = new StreamReader (apiResult.GetResponseStream ()).ReadToEnd ();

      response = new Hashtable();
      response["status"] = (int) apiResult.StatusCode;
      response["response"] = JSON.JsonDecode(responseBody);
    } catch (WebException e) {
      Console.WriteLine (e.Message);
    }
}

что я уже сделал:

  • сделал запрос через консольное приложение и контроллер приложений MVC. Оба выбрасывают одно и то же исключение
  • вызвал API через Postman с точно такими же заголовками, что приносит мне контент правильно.

эти запросы работали нормально через c# около 4 дней назад, и я внезапно начал проблемы, но учитывая тот факт, что он хорошо реагирует на Postman, я не могу понять, в чем проблема.

вот ответ

enter image description here

EDIT: сделал оба запроса с прослушиванием скрипача. Результат для Postman показывает прямой запрос к API с HTTPS. При попытке с моим ConsoleApplication он показывает HTTP-запрос, который делает туннель к конечной точке API, порту 443.

enter image description here

TextView от Fiddler для запроса туннеля говорит следующее:

enter image description here

Я заметил поле «время», которое относится к очень старой дате, но я не знаю, что это значит.

5 ответов


вы можете попробовать код ниже:

string url = ""; // url of the endpoint

WebClient client = new WebClient();
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
client.Encoding = Encoding.UTF8;
client.Headers.Add("content-type", "application/json"); // same as other parameters in the header

var data = client.DownloadString(url);

это своего рода плохая практика, чтобы включить Tls12, как это —

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

в будущем, если вам нужно будет использовать более высокую версию TLS, вам придется обновить свой код.

Если вы используете более старую версию .NET, вы можете просто переключить ее более высокую версию, в которой tls12 включен по умолчанию.

например, это простое изменение в вашей сети.config автоматически включит Tls12 —

<httpRuntime targetFramework="4.6.1"/>

(в качестве ссылки для других, у кого такая же проблема) это также может быть результатом Двойной Прыжок проблема , где вы должны передать зачисленного пользователя (в пуле) на проходящий сервер или из одной среды в другую , в противном случае пользователь установлен в «анонимный/пользователь», и вы получите «существующее соединение было принудительно закрыто удаленным хостом.- Ошибка!—3—>


разобрался. Мне нужно было включить использование TLS1.2.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

2

автор: undefined is our god


Я нашел ту же ошибку, просто упомяну
запрос.UserAgent = «все, что вы хотите»;


  • #1

Здравствуйте! При запуске программы ППДГР-2 появляется окно «Опубликована новая версия справочника СПРО1. Для обновления перейдите в Настройки». Захожу в Настройки, нажимаю обновить и появляется окно «Ошибка автоматического обновления Невозможно упаковать: встретился символ, для которого нельзя установить соответствие». В чем может быть проблема? Как исправить?

  • #2

скачайте отдельно обновление, забейте запрос про СРО 1 в любом поисковике. Потом руками положите в папку ппдгр. Если не знаете куда, просто через поиск в системе найдите файл с именеи файлов которые скачали и найдете необходимую директорию

Perdolshik

  • #3

а у меня наоборот слишком часто обновляется. раз в неделю может обновляет.
Это этот СПРО так часто обновляется или может тоже какая-то неполадка?

  • #5

Добрый день. Пожалуйста, помогите решить проблему: обновила ППДГР-2 с версии 2.0.7 на 2.0.8, обновила СПРО1 (вроде как обновилось без проблем, при новом открытии обновляться не просит). Форма 13014 заполнилась без проблем. Но пакет не формируется, при нажатии на кнопку «печать» выдается сообщение «печать и выгрузка невозможны, перешлите файл .log разработчикам»
При этом на другом компьютере в версии 2.0.7 пакет формируется.
Подскажите, что не так с 8-й версией? Как исправить?

  • #6

обновила СПРО1 (вроде как обновилось без проблем, при новом открытии обновляться не просит).

разработчики днем уже поправили обновление СПРО1 (после моего утреннего обращения в службу поддержки). теперь все как обычно работает.

  • #7

Как вариант — переустановите программу.

  • #8

Как вариант — переустановите программу.

установленную полностью удалить?

  • #9

ошибка проверки версии спро1 базовое соединение закрыто.
Непредвиденная ошибка при приеме.

Программу переустанавливал. Не помогло.

Стоит последняя версия 2.1.4.

ЧТО ДЕЛАТЬ!?

  • #10

Здравствуйте! При запуске программы ППДГР-2 появляется окно «Опубликована новая версия справочника СПРО1. Для обновления перейдите в Настройки». Захожу в Настройки, нажимаю обновить и появляется окно «Ошибка автоматического обновления Невозможно упаковать: встретился символ, для которого нельзя установить соответствие». В чем может быть проблема? Как исправить?

Удалось исправить?

  • #11

Да, давно уже исправил. Долго гуглил и нашел. Там на самом деле какая-то ошибка в видовсе есть. Уже не помню как исправил((( но точно помню, что дело не в программе, а в настройках винды где-то

  • #12

Кто и как решил такую проблему? Помимо ошибки по обновлению СПРО1 выдает ошибку при обращении к ФИАС

  • #13

У меня вылезли эти ошибки после обновления до виндовс 11

  • #14

Кто и как решил такую проблему? Помимо ошибки по обновлению СПРО1 выдает ошибку при обращении к ФИАС

Я решил проблему так:

1. Посмотрел путь, где лежит на диске программа (в свойствах ярлыка запуска).
2. Удалил программу через Панель управления —> Удаление программ.
3. Удалил через Проводник остатки программы, по пути из п.1.
4. Скачал новую версию с сайта и установил.

Если не получится — могу удалённо посмотреть и исправить.
Пишите в ЛС.

P.S.
Перед удалением обязательно проверьте папку (п.1), чтобы сохранить ваши наработки (файлы с расширением .DG2), если вы их не размещали в другом месте.

I have the following code:

private Uri currentUri;

private void Form1_Load(object sender, EventArgs e)
{
    currentUri = new Uri(@"http://www.stackoverflow.com");
    HttpWebRequest myRequest = (HttpWebRequest) HttpWebRequest.Create("http://www.stackoverflow.com");
    WebProxy myProxy = new WebProxy("120.198.230.8:81");
    myRequest.Proxy = myProxy;

    HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

    webBrowser1.DocumentStream = myResponse.GetResponseStream();

    webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}

void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    if (e.Url.AbsolutePath != "blank")
    {
        currentUri = new Uri(currentUri, e.Url.AbsolutePath);
        HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create(currentUri);

        HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

        webBrowser1.DocumentStream = myResponse.GetResponseStream();
        e.Cancel = true;
    }
}

after compiling:

error: An unhandled exception of type ‘System.Net.WebException’
occurred in System.dll

Additional information: The underlying connection was closed: An
unexpected error occurred on a receive.

at line HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();

Please help me.

Uwe Keim's user avatar

Uwe Keim

39k56 gold badges174 silver badges289 bronze badges

asked Feb 12, 2014 at 13:03

Thomas's user avatar

0

Setting the HttpWebRequest.KeepAlive to false didn’t work for me.

Since I was accessing a HTTPS page I had to set the Service Point Security Protocol to Tls12.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Notice that there are other SecurityProtocolTypes: SecurityProtocolType.Ssl3, SecurityProtocolType.Tls, SecurityProtocolType.Tls11

So if the Tls12 doesn’t work for you, try the three remaining options.

Also notice that you can set multiple protocols. This is preferable on most cases.

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

Edit: Since this is a choice of security standards it’s obviously best to go with the latest (TLS 1.2 as of writing this), and not just doing what works. In fact, SSL3 has been officially prohibited from use since 2015 and TLS 1.0 and TLS 1.1 will likely be prohibited soon as well. source: @aske-b

Community's user avatar

answered May 8, 2017 at 9:57

Bartho Bernsmann's user avatar

Bartho BernsmannBartho Bernsmann

2,3631 gold badge25 silver badges33 bronze badges

5

The underlying connection was closed: An unexpected error occurred on a receive.

This problem occurs when the server or another network device
unexpectedly closes an existing Transmission Control Protocol (TCP)
connection. This problem may occur when a time-out value on the
server or on the network device is set too low. To resolve this
problem, see resolutions A, D, E, F, and O. The problem can also
occur if the server resets the connection unexpectedly, such as if an
unhandled exception crashes the server process. Analyze the server
logs to see if this may be the issue.

Resolution

To resolve this problem, make sure that you are using the most recent version of the .NET Framework.

Add a method to the class to override the GetWebRequest method. This change lets you access the HttpWebRequest object. If you are using Microsoft Visual C#, the new method must be similar to the following.

class MyTestService:TestService.TestService
{
    protected override WebRequest GetWebRequest(Uri uri)
    {
        HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);
        //Setting KeepAlive to false
        webRequest.KeepAlive = false;
        return webRequest;
    }
}

Excerpt from KB915599: You receive one or more error messages when you try to make an HTTP request in an application that is built on the .NET Framework 1.1 Service Pack 1.

Andrew T.'s user avatar

Andrew T.

4,6728 gold badges43 silver badges62 bronze badges

answered Feb 12, 2014 at 13:09

Nagaraj S's user avatar

Nagaraj SNagaraj S

13.2k6 gold badges32 silver badges52 bronze badges

3

  • .NET 4.6 and above. You don’t need to do any additional work to support TLS 1.2, it’s supported by default.
  • .NET 4.5. TLS 1.2 is supported, but it’s not a default protocol. You need to opt-in to use it. The following code will make TLS 1.2 default, make sure to execute it before making a connection to secured resource:
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

  • .NET 4.0. TLS 1.2 is not supported, but if you have .NET 4.5 (or above) installed on the system then you still can opt in for TLS 1.2 even if your application framework doesn’t support it. The only problem is that SecurityProtocolType in .NET 4.0 doesn’t have an entry for TLS1.2, so we’d have to use a numerical representation of this enum value:
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

  • .NET 3.5 or below. TLS 1.2 is not supported. Upgrade your application to more recent version of the framework.

answered Aug 20, 2019 at 10:35

Daniyal Saleem's user avatar

2

None of the solutions out there worked for me. What I eventually discovered was the following combination:

  • Client system: Windows XP Pro SP3
  • Client system has .NET Framework 2 SP1, 3, 3.5 installed
  • Software targeting .NET 2 using classic web services (.asmx)
  • Server: IIS6
  • Web site «Secure Communications» set to:
    • Require Secure Channel
    • Accept client certificates

enter image description here

Apparently, it was this last option that was causing the issue. I discovered this by trying to open the web service URL directly in Internet Explorer. It just hung indefinitely trying to load the page. Disabling «Accept client certificates» allowed the page to load normally. I am not sure if it was a problem with this specific system (maybe a glitched client certificate?) Since I wasn’t using client certificates this option worked for me.

answered Feb 15, 2016 at 17:29

Hugh Jeffner's user avatar

Hugh JeffnerHugh Jeffner

2,9264 gold badges31 silver badges31 bronze badges

My Hosting server block requesting URL And code site getting the same error
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

enter image description here

After a lot of time spent and apply the following step to resolve this issue

  1. Added line before the call web URL

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

  2. still issue not resolve then I upgrade .net version to 4.7.2 but I think it’s optional

  3. Last change I have checked my hosting server security level which causes to TLS handshaking for this used «https://www.ssllabs.com/ssltest/index.html» site
    and also check to request URL security level then I find the difference is requested URL have to enable a weak level Cipher Suites you can see in the below image

enter image description here

Now here are my hosting server supporting Cipher Suites

enter image description here

here is called if you have control over requesting URL host server then you can sync this both server Cipher Suites. but in my case, it’s not possible so I have applied the following script in Windows PowerShell on my hosting server for enabling required weak level Cipher Suites.

Enable-TlsCipherSuite -Name "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"
Enable-TlsCipherSuite -Name "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
Enable-TlsCipherSuite -Name "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
Enable-TlsCipherSuite -Name "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
Enable-TlsCipherSuite -Name "TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
Enable-TlsCipherSuite -Name "TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_AES_256_GCM_SHA384"
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_AES_128_GCM_SHA256"
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_AES_256_CBC_SHA256"
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_AES_128_CBC_SHA256"
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_AES_256_CBC_SHA"
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_AES_256_CBC_SHA"

after applying the above script my hosting server Cipher Suites level look like

enter image description here

Then my issue resolved.

Note: server security level downgrade is not a recommended option.

answered Oct 7, 2020 at 11:33

Amol Shiledar's user avatar

Before Execute query I put the statement as below and it resolved my error.
Just FYI in case it will help someone.

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
ctx.ExecuteQuery();

answered Sep 4, 2019 at 15:30

Rahul Patil's user avatar

2

To expand on Bartho Bernsmann’s answer, I should like to add that one can have a universal, future-proof implementation at the expense of a little reflection:

static void AllowAllSecurityPrototols()
{   int                  i, n;
    Array                types;
    SecurityProtocolType combined;

    types = Enum.GetValues( typeof( SecurityProtocolType ) ); 
    combined = ( SecurityProtocolType )types.GetValue( 0 );

    n = types.Length;
    for( i = 1; i < n; i += 1 )
    {   combined |= ( SecurityProtocolType )types.GetValue( i );  }

    ServicePointManager.SecurityProtocol = combined;
}

I invoke this method in the static constructor of the class that accesses the internet.

answered Jul 17, 2020 at 14:46

Anton Shepelev's user avatar

I was working also on web scraping project and same issue found, below code applied and it worked nicely. If you are not aware about TLS versions then you can apply all below otherwise you can apply specific.

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

answered Nov 8, 2019 at 10:27

Anjan Kant's user avatar

Anjan KantAnjan Kant

3,89039 silver badges38 bronze badges

3

Я получаю эту ошибку только на одном сервере под управлением Windows Server 2003:

System.Net.WebException: Подключенное соединение было закрыто: произошла непредвиденная ошибка при отправке.


Вот мой код… Любые идеи?

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https:// URL HERE ");
//request.Headers.Add("Accept", "application/xml");
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(xml);
request.KeepAlive = false;
request.Accept = "application/xml";
request.ContentType = "application/xml; charset='UTF-8'";
request.ContentLength = bytes.Length;
request.Method = "POST";
request.Timeout = 10000;
request.ServicePoint.Expect100Continue = false;

4b9b3361

Ответ 1

Эта проблема возникает, когда клиентский компьютер не может отправить HTTP-запрос. Клиентский компьютер не может отправить HTTP-запрос, поскольку соединение было закрыто или недоступно. Эта проблема может возникнуть, когда клиентский компьютер отправляет много данных. Чтобы решить эту проблему, см. Разрешения A, D, E, F и O.

https://support.microsoft.com/en-us/kb/915599

Ответ 2

Настройка HttpWebRequest.KeepAlive на false не помогла мне.

Поскольку я обращался к HTTPS-странице, мне пришлось установить протокол безопасности точки доступа в Tls12.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Обратите внимание, что существуют другие SecurityProtocolTypes:

SecurityProtocolType.Ssl3 
SecurityProtocolType.Tls
SecurityProtocolType.Tls11

Итак, если Tls12 не работает для вас, попробуйте три оставшихся параметра.

Также обратите внимание, что вы можете установить несколько протоколов. Это предпочтительнее в большинстве случаев.

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

Ответ 3

Я получал ту же ошибку, используя RestSharp с .NET 4.5. Я тестировал один и тот же URL-адрес с cURL, и он работал нормально. После долгого отладки я обнаружил, что установка SecurityProtocol исправила проблему.

Смотрите: «Основное соединение было закрыто: произошла непредвиденная ошибка при отправке.» С сертификатом SSL

Ответ 4

В моем случае я забыл удалить «s» с «https», когда я менял URL-адреса между средами. Я бил Localhost с https при аварии. То же самое произойдет, если вы нажмете HTTP-сайт без сертификата https или сертификат с истекшим сроком действия.

Ответ 5

Я столкнулся с этой ошибкой, когда я вручную развертывал пакет nuget для сервера nexus вручную из командной строки с API-KEY.

Я проверил конфигурацию сервера nexus, и я понял, что Nexus NuGet API-Key Realm не активирован. Я активировал его и снова попытался, все работало нормально.

введите описание изображения здесь

Итак, вы должны проверить серверную сторону, чтобы подтвердить, что вы активировали связанные сферы.

Ответ 6

Эта проблема может возникнуть в этом случае, вам нужно скачать ссылку, которая является ссылкой фильтра, и у вас нет разрешения на загрузку этой ссылки.

Ответ 7

Я получаю эту ошибку при попытке загрузить файл rss с помощью HttpWebRequest. Когда я проверил в браузере и проверил коды ответов, URL-адрес был в порядке. Попробовав все здесь, мне пришло в голову, что сайт может блокироваться на основе User Agent.

Изменение строки User Agent в запросе сработало:

let request = WebRequest.Create(url) :?> HttpWebRequest
request.UserAgent <- @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36"
let response = request.GetResponse()

Строка этого пользовательского агента появилась из-за того, что в Google Chrome было написано «что такое мой пользовательский агент»

Понравилась статья? Поделить с друзьями:
  • Ошибка бад логин в майнкрафте
  • Ошибка багажника на форд фокус 3
  • Ошибка багажника на форд мондео 4
  • Ошибка багажник открыт форд мондео
  • Ошибка бабушки валентина ильинична елисеева