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

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

12.06.2021, 07:42. Показов 13860. Ответов 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,549
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
18346 / 14272 / 5370
Регистрация: 17.03.2014
Сообщений: 28,949
Записей в блоге: 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,549
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,549
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,549
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,549
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,549
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
18346 / 14272 / 5370
Регистрация: 17.03.2014
Сообщений: 28,949
Записей в блоге: 1
16.03.2026, 22:32
JeyCi, как именно помогло?
0
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
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
Ответ Создать тему
Новые блоги и статьи
сукцессия 30. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru