Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 9
1

Не верный вывод html документа после запроса

24.12.2020, 22:49. Показов 868. Ответов 10

Author24 — интернет-сервис помощи студентам
Здравствуйте, возникла проблема с выводом содержимого html документа. В первом проекте написал классы, отсылающие запрос и получающий ответ с сайта магазина в виде html документа, который в дальнейшем парсил. При использовании этого же кода в другом проекте в html за место русских букв вопросы.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
HttpRequest request = new HttpRequest();
 
            #region eldorado parsing
            request.CharacterSet = Encoding.Unicode;
            request.AddHeader(HttpHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
            request.AddHeader("Accept-Encoding", "gzip, deflate");
            request.AddHeader("Accept-Language", "ru,ru-RU;q=0.9,en-US;q=0.8,en;q=0.7");
            request.AddHeader("Cache-Control", "max-age=0");
            request.AddHeader("Host", "www.eldorado.ru");
            request.AddHeader("Referer", "https://www.eldorado.ru/");
            request.AddHeader("Upgrade-Insecure-Requests", "1");
            request.KeepAlive = true;
            request.UserAgent = Http.OperaUserAgent();
 
            #endregion
 
            request.AllowAutoRedirect = true;
 
            #region Response Eld
            HttpResponse response = request.Get(LinkEld);
            #endregion
 
            Response = response.ToString();
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2020, 22:49
Ответы с готовыми решениями:

Организация AJAX-запроса на получение текстового html-документа
Есть у нас такая лабораторка,в которой нужно сформировать запрос на получение...

Вывод всего html документа
Здравствуйте! Как вывести весь html документ в ячейку таблицы без использования: - php и его...

Вывод фрагментов из HTML документа
Здравствуйте. Столкнулся с такой ситуацией что нужно вывести из HTML документа в отдельный файл...

Вывод документа html на печать
Всем доброго времени суток! Есть файл-отчет html. И принтер SPR-350(кассовый). Вывожу отчет на...

10
help
4255 / 3858 / 782
Регистрация: 13.04.2015
Сообщений: 8,532
24.12.2020, 22:51 2
Цитата Сообщение от Влад13 Посмотреть сообщение
за место русских бук
Кодировать надо из утф-8 в анси
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 9
24.12.2020, 22:55  [ТС] 3
Простите, я не использовал вообще эту строку. Это я уже пробовал различные кодировки, думая что это решит проблему.
Цитата Сообщение от Влад13 Посмотреть сообщение
request.CharacterSet = Encoding.Unicode;
0
help
4255 / 3858 / 782
Регистрация: 13.04.2015
Сообщений: 8,532
24.12.2020, 23:11 4
Цитата Сообщение от Влад13 Посмотреть сообщение
request.CharacterSet = Encoding.Unicode;
Это кодировка запроса, а не ответа.

Добавлено через 9 минут
тем много на форуме
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 9
24.12.2020, 23:14  [ТС] 5
Дописал к коду
C#
1
2
3
4
5
6
7
Encoding utf8 = Encoding.UTF8;
            Encoding ascii = Encoding.ASCII;
 
            byte[] utf8Bytes = ascii.GetBytes(Response);
            byte[] asciiBytes = Encoding.Convert(utf8, ascii, utf8Bytes);
 
            Response = ascii.GetString(asciiBytes);
Но по итогу русские буквы заменены ?.
Думаю стоит уточнить, что до этого ? знаки были в ромбе.
0
Администратор
Эксперт .NET
17024 / 13376 / 5218
Регистрация: 17.03.2014
Сообщений: 27,355
Записей в блоге: 1
25.12.2020, 11:53 6
Влад13, почему вы не используете стандартный класс HttpClient? Он лучше работает с кодировками, чем плохо написанная библиотека xNet.
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 9
25.12.2020, 12:22  [ТС] 7
OwenGlendower, просто стараюсь все делать по видео курсам) Автор использовал leaf для работы с запросами и мне показалось, что у нее более расширенный функционал. Хотя мне до сих пор не понятно, почему в одном проекте все работает, а в другом нет. Может это из за того, что первый проект на Framework, а второй на Core?
0
Администратор
Эксперт .NET
17024 / 13376 / 5218
Регистрация: 17.03.2014
Сообщений: 27,355
Записей в блоге: 1
25.12.2020, 12:37 8
Цитата Сообщение от Влад13 Посмотреть сообщение
Автор использовал leaf для работы с запросами
Я не знаю эту библиотеку и вообще мы вроде обсуждаем http и кодировки.

Цитата Сообщение от Влад13 Посмотреть сообщение
Хотя мне до сих пор не понятно, почему в одном проекте все работает, а в другом нет. Может это из за того, что первый проект на Framework, а второй на Core?
Возможно.
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 9
25.12.2020, 13:41  [ТС] 9
OwenGlendower, Все таки проблема была в Core, ибо на Framework html документ выводит нормально русский текст. А Core выводит русский текст ����� �.
0
Администратор
Эксперт .NET
17024 / 13376 / 5218
Регистрация: 17.03.2014
Сообщений: 27,355
Записей в блоге: 1
25.12.2020, 14:32 10
Влад13, ок. А использовали бы стандартный HttpClient везде бы работало без ошибок.
0
0 / 0 / 0
Регистрация: 18.10.2020
Сообщений: 9
25.12.2020, 22:09  [ТС] 11
OwenGlendower,
Попробую с ней, спасибо за совет.
Тут вообще странная ситуация, при парсинге эльдорадо на Core, такая проблема. Потому что парсинг Хабра в том же проекте индентичен парсингу эльдорадо, но выводит русский текст без дефектов.
0
25.12.2020, 22:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2020, 22:09
Помогаю со студенческими работами здесь

Вывод чисел при запуске документа html
Помогите сделать вывод уравнения в первый <div> Вместо уравнения оно выводит "undefined". За его...

Вывод в HTML документе с запроса API JS
Всем привет прошу помощи немогу дагнать не только Я и десяток человек сидящие вместе со мной рядом...

Вывод результата запроса в html файл
У меня есть запрос который я бы хотел выводить в html ежедневно. Я пробовал сделать инкапсуляцию,...

HTML+JS. Переход после ввода запроса по Enter
Привет, друзья! Я пока js не особо знаю, может кто подскажет... Что необходимо сделать, чтобы после...

Вывод результата PHP запроса в текущую HTML страницу
Добрый день. Есть форма "Отслеживание" и её php обработчик. Все работает корректно, данные...

Не работает WYSIWYG HTML Editor после ajax-запроса
Добрый вечер. Делаю админку для сайта, решил использовать TinyMCE как WYSIWYG HTML Editor для моих...


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

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