59 / 31 / 15
Регистрация: 30.05.2009
Сообщений: 234
1

Как правильно пользоваться WebClient для парсинга?

30.09.2021, 21:57. Показов 3572. Ответов 4

Author24 — интернет-сервис помощи студентам
Здравствуйте. На просторах интернета накопал разные варианты использования. Удалось собрать такой код:
C#
1
2
3
4
5
6
7
8
9
10
string reply = string.Empty;
            using (var webClient = new WebClient())
            {
                webClient.Headers[HttpRequestHeader.Accept] = "*/*";
                webClient.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36";
                webClient.Headers[HttpRequestHeader.Referer] = "URL";
                webClient.Headers[HttpRequestHeader.Host] = "www.host";
                reply = webClient.UploadString("URL", "POST", " ");
                textBox.Text = reply;                
            }
Проблема в том, что на 7-ке данный код работает хорошо, а на 10-ке не работает вообще и после выполнения такого кода вылазит ошибка.
Нужно что-то добавить в сам проект или что?
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2021, 21:57
Ответы с готовыми решениями:

Как правильно пользоваться typedef для декларации типа указателя на функцию?
Мне нужны будут функции, принимающие параметр-указатель на функции с одним и тем же списком...

как пользоваться программатором для Whirlpool, раздобыл программатор, а как им пользоваться я не знаю
подскажите плиз

Не правильно работает код для парсинга строки с датой
Здравствуйте! Делаю парсинг строки с датой. Все работает, но работает не правильно. Не сходятся...

WebClient. Как правильно скачивать несколько файлов асинхронно?
Подскажите как правильно скачивать несколько файлов асинхронно? сейчас для каждого файла свой...

4
Администратор
Эксперт .NET
17020 / 13373 / 5217
Регистрация: 17.03.2014
Сообщений: 27,345
Записей в блоге: 1
30.09.2021, 23:30 2
Цитата Сообщение от Nikfel Посмотреть сообщение
а на 10-ке ... после выполнения такого кода вылазит ошибка.
Какая ошибка?
0
59 / 31 / 15
Регистрация: 30.05.2009
Сообщений: 234
04.10.2021, 10:44  [ТС] 3
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Какая ошибка?
При первом запуске на 10-ке выдаёт:
"Базовое соединение закрыто: Непредвиденная ошибка при приеме."

После сайт блокируется и к нему нет доступа какое-то время и поэтому выдаёт:
"Невозможно соединиться с удалённым сервером"

На 7-ке всё прекрасно работает, а на 10-ке какой-то глюк происходит.
Платформа Microsoft.Net Framework 4.6.1. Если выбираю более свежую версию платформы - то код вообще перестаёт работать.

Как побороть эту ошибку в 10-й системе?
Использовал try catch для получения сообщения об ошибке.

Добавлено через 5 минут
Думаю переходить на HttpClient, но и с ним вроде такая же ерунда будет твориться. Может сам сайт как-то определяет, что запрос идёт не через браузер и эта проверка у них срабатывает только на 10-ке, а в 7-ке не работает и поэтому код на 7-ке работоспособен.
Какие есть идеи по этому поводу?
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
04.10.2021, 13:31 4
Nikfel,
... возможно, в 10-ке Windows Defender Firewall настроен более жестко, и надо изменить настройки явно на разрешение соединений от вашего парсера ....
Best practices for configuring Windows Defender Firewall
0
Администратор
Эксперт .NET
17020 / 13373 / 5217
Регистрация: 17.03.2014
Сообщений: 27,345
Записей в блоге: 1
04.10.2021, 13:36 5
Nikfel, попробуйте поставить в начале Main
C#
1
ServicePointManager.SecurityProtocol = SecurityProtocolType.SystemDefault;
В качестве платформы укажите .NET FW 4.8
0
04.10.2021, 13:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2021, 13:36
Помогаю со студенческими работами здесь

Ссылки для скачивания с помощью WebClient.DownloadFile и WebClient.DownloadFileAsync
Ссылки какие должны быть, для скачивания webClient.DownloadFile и webClient.DownloadFileAsync Не...

как правильно пользоваться
Здравствуйте, нашел интересный код для интересной задачи (Удалить комментарии из файла), но как...

Как в C++ правильно пользоваться полиморфизмом?
Объясните пожалуйста как правильно пользоваться полиморфизмом в плюсах. Задача такая - есть некий...

Как правильно пользоваться dispatchEvent?
В процессе освоения as столкнулся с такой задачей: Из movieClip1 нужно отключать/включать...

Как правильно пользоваться uln2003?
Я подключал так: E - GND COM - +4.9 Votts ( Столько ЮСБ у меня выдает) к 7B - Пробовал...

Transparent. Как правильно пользоваться?
Не получается наложить картинку поверх фона чтоб лишнее становилось прозрачным без уничтожения фона...

Как правильно пользоваться динамическим объектом
Добрый день! Имеется такой код: ClassA *Obj; while(true) { if(flag == true) { ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru