Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554

Удаленный хост принудительно разорвал существующее подключение

12.06.2021, 07:42. Показов 14402. Ответов 30

Студворк — интернет-сервис помощи студентам
уже вроде и заголовки все проставила, а всё равно не хочет работать:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
        private static void myHttpWebRequest()
        {
            const string THE_URL = "https://www.cmegroup.com/CmeWS/mvc/ProductCalendar/Options/58";
            try
            {
                HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(THE_URL);
                
                req.UserAgent= "Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";                
                req.Accept= "text/html, application/xhtml+xml, image/jxr, */*";
                req.Headers.Add("Accept-Encoding: gzip, deflate");
                req.Headers.Add("Accept-Language", "ru-RU");
                req.ContentType = "application/json;charset=UTF-8";
                
                HttpWebResponse resp=(HttpWebResponse)req.GetResponse();
 
                StreamReader myStreamReader = new StreamReader(resp.GetResponseStream());
                Console.WriteLine(myStreamReader.ReadToEnd());
                
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                //  Удаленный хост принудительно разорвал существующее подключение
                // ИЛИ
                // Запрос был прерван: Не удалось создать защищенный канал SSL/TLS.
            }
        }
можно ли наладить connection??
===
и надо как-то сделать несколько таких запросов по нескольким линкам, например:
[https://www.cmegroup.com/CmeWS... /Future/58,
https://www.cmegroup.com/CmeWS... /Future/42]
-- а не получается выполнить даже 1, так что и оттестить циклом не могу - не знаю создавать ли новый объект HttpWebResponse (не хочется)... или можно как-то просто изменить линк??

Добавлено через 9 минут
что-то произошло и уже др. ошибка
Запрос был прерван: Не удалось создать защищенный канал SSL/TLS.

Добавлено через 3 минуты
просто на Python добавление заголовка User-Agent помогло... но на C# не помогает
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2021, 07:42
Ответы с готовыми решениями:

Удаленный хост принудительно разорвал существующее подключение
Первый раз пишу серверное приложение и столкнулся с такой проблемой Иногда, давольно не часто отлавливаю SocketsException :...

Клиент-сервер - Удаленный хост принудительно разорвал существующее подключение
Здравствуйте! Есть два приложения клиент и сервер, при передаче сообщений выдает ошибку: Удаленный хост принудительно разорвал существующее...

Отправка email. Ошибка "Удаленный хост принудительно разорвал существующее подключение"
почему не работает? :( var msg = new MailMessage(); msg.From = new MailAddress("emailfrom@inbox.ru"); msg.To.Add(new...

30
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
21.06.2021, 11:11  [ТС]
Студворк — интернет-сервис помощи студентам
When to use WebClient vs. HttpClient vs. HttpWebRequest

Добавлено через 1 час 22 минуты
Webclient vs HttpClient
The webclient is a browser and the httpclient isn't a brwser. The HTTP client runs quicker becasue you don't have to put the results into a window
Добавлено через 8 минут
HttpClient is the newer of the APIs
Добавлено через 4 минуты
Use IHttpClientFactory to implement resilient HTTP requests
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18404 / 14336 / 5370
Регистрация: 17.03.2014
Сообщений: 29,020
Записей в блоге: 1
21.06.2021, 13:34
Цитата Сообщение от JeyCi Посмотреть сообщение
The webclient is a browser and the httpclient isn't a brwser.
Вас вводят в заблуждение. Они оба не браузеры.
1
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
21.06.2021, 20:56  [ТС]
я ещё не подвязывала код #21 к WinForms (или WPF) - Understanding Async, Avoiding Deadlocks in C# буду иметь ввиду...
но всё-таки 1 вопрос мучает по #21 - код то получился асинхронный, но всё-таки блокирующий в строке 25
C#
1
Console.Write((String)"\nLOADED {0}: Finished downloading.\n\n", t.Result);
?? а как это ожидание результата сделать неблокирующим? возможно ли?..

Добавлено через 8 минут
p.s. хотя у меня там в строке 46-47, вероятно, вообще tasks chain...

Добавлено через 30 минут
Цитата Сообщение от JeyCi Посмотреть сообщение
ожидание результата сделать неблокирующим? возможно ли?..
в принципе есть какие-то варианты

Добавлено через 25 минут
или Don't Block on Async Code
1. In your “library” async methods, use ConfigureAwait(false) wherever possible.
2. Don’t block on Tasks; use async all the way down.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
22.06.2021, 20:04  [ТС]
оно то всё понятно, конечно:
1.Block on the async code with .Result/.GetAwaiter().GetResult() or .Wait(). This is not a good idea.
но IAsyncEnumerable<T> в C#8.0 у меня пока не подхватывается в SharpDevelop...
хотя
You can use IAsyncEnumerable<T> and the related C# 8 features in .NET Core 2.x or .NET Framework 4.6.1, not just .NET Core 3.0!
хотя да, ведь даже C#5.0 только в net.framework 4.6 вроде
надо искать суррогат для net.framework 4.5...

Добавлено через 2 минуты
и даже Task<IEnumerable<User>> по примеру не может найти namespace...
Inconsistent accessibility: return type 'System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<my_async_main.Program.User>>' is less accessible than method 'my_async_main.Program.GetUsers()'

Добавлено через 5 часов 14 минут
Цитата Сообщение от JeyCi Посмотреть сообщение
Task<IEnumerable
вот на примерах из Документации всё (почти) всегда работает...

Добавлено через 5 часов 7 минут
и всё-таки, чтобы полжить конец асинхронности - стоит заглянуть в Документацию msdn:
... examples of this guide showed how you could use async and await for I/O-bound and CPU-bound work. It's key that you can identify when a job you need to do is I/O-bound or CPU-bound because it can greatly affect the performance of your code and could potentially lead to misusing certain constructs.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
01.07.2021, 12:29  [ТС]
Цитата Сообщение от Kazbek17 Посмотреть сообщение
Установите протокол перед запросом.
кстати есть нюанс
SecurityProtocolType.Tls11 and SecurityProtocolType.Tls12 enum values are missing on Framework 4.0 only.

SecurityProtocolType numeric values:
SystemDefault (0)
Ssl3 (48 - 0x30)
Tls (192 - 0xC0)
Tls11 (768 - 0x300) missing on Framework 4.0
Tls12 (3072 - 0xC00) missing on Framework 4.0

On Framework 4.0, if want to allow TLS 1.0, 1.1 and 1.2, just replace:
SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12

by:
(SecurityProtocolType)(0xc0 | 0x300 | 0xc00)
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
01.07.2021, 12:52
Цитата Сообщение от JeyCi Посмотреть сообщение
даже Task<IEnumerable<User>> по примеру не может найти namespace
А вы текст ошибки не хотите прочитать? Сделайте класс User public и будет вам счастье. Ни какие namespace здесь ни при чем.
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
01.07.2021, 13:14  [ТС]
Цитата Сообщение от JeyCi Посмотреть сообщение
нюанс
Цитата Сообщение от proa33 Посмотреть сообщение
для обратной совместимости
Если у клиента, стоит Framework 4.0, то нельзя устанавливать целевую среду выше этой 4.0, ниже - можно.
Эта куча версий нужна чтоб разрабатывать для клиентов приложения версия которых равна или ниже, чем установленая у них.
Если сделаешь прогу на последней версии, а у клиента стоит винда ХР или семерка без обновления, то сам поймешь потом зачем все это надо.
p.s.
Lexeq, а со своими вопросами на дату не смогли посмотреть того, что цитируете?.. вы опоздали - вечеринка закончилась... и ваш ответ - от слова "НЕ_ответ" вообще... для своих вопросов заводите свои ветки
0
 Аватар для Lexeq
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
01.07.2021, 13:33
JeyCi,

Не по теме:


А что не так с датой? Чуть больше недели, и вы не писали, что решили эту проблему. Или вы решили из этой темы сделать свой блог-дневник, так для этого на форуме есть специальная функция.
P. S. Вы про какие мои вопросы говорите?

0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
16.03.2026, 22:32  [ТС]
помогло https://whatmyuseragent.com/

P.S.

Async Task

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        private async Task<string> DownloadFileAsync(string url, string filePath)
        {
            string res=@"";
            using (var fs = new FileStream(filePath, FileMode.Create))
            {
                HttpResponseMessage response  = await client.GetAsync(url);
                await Task.Delay(5000);
                if (response.StatusCode == System.Net.HttpStatusCode.Forbidden)
                     res= @"Status: {response.StatusCode}";
                else if (response.IsSuccessStatusCode) {
                    await Task.Delay(1000);
                    Stream httpStream = await response.Content.ReadAsStreamAsync();
                    await httpStream.CopyToAsync(fs);
                    await httpStream.FlushAsync(); // Ensure all data is written to the file
 
                }
            }
            // WPF Windows1
            await this.Dispatcher.InvokeAsync( ()=> {
                           _progress.Report(url.Substring(url.LastIndexOf("/") + 1,
                                            (url.Length - url.LastIndexOf("/") - 1)) + " :  " + res);
                                        });
            return url + " - " + res;
        }


код загрузки

C#
1
2
3
4
5
        var tasks = _downloadUrls.Select((link, i) => DownloadFileAsync(link, "C:\\Test4\\" + _myPaths[i]));
        await Task.WhenAll(tasks);
 
        if (client!=null)
                    client.Dispose();


для private static readonly HttpClient client = new HttpClient(); // экземпляр клиента создается один раз,
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18404 / 14336 / 5370
Регистрация: 17.03.2014
Сообщений: 29,020
Записей в блоге: 1
16.03.2026, 22:32
JeyCi, как именно помогло?
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,554
16.03.2026, 22:36  [ТС]
в Headers запросов вписала свой UserAgent, который определился этим сайтом - в названии сайта - инфо, которую он предоставляет (определяет ваш UserAgent)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2026, 22:36

При повторном нажатии на кнопку "Отправить" в приложении "клиент" выскакивает ошибка, что хост принудительно разорвал соединение
Всем привет. Ребят выручайте. Уже 4-й день бьюсь с программой. В общем, тренируюсь создавать клиентское и серверное приложения. За основу...

Удаленный хост принудительно разорвал существующее подключение
Добрый день, подскажите, как исправить эту ошибку. Программа отправляет файлы на virustotal для проверки. Структура файлов: ...

Удаленный хост принудительно разорвал существующее подключение
Залил на хогстинг файли через Core FTP. После рестарта Core FTP выкидывает ошибку Welcome to Core FTP, release ver 2.1, build 1612...

Удаленный хост принудительно разорвал существующее подключение
БП 3.0 открываю макет через администрирование - печатные формы отчеты и обработки - макеты печатных форм. Редактирую там и сохраняю, и при...

Удаленный хост принудительно разорвал существующее подключение
При отправке приложением UDP пакета через сокета с локалхост 127.0.0.1:54787 на тотже адрес 127.0.0.1 но на другой порт, тоже самое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru