"Крякозябры" на отдельных сайтах при определенных настройках проекта

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
На некоторых сайтах, например sport-interfax.ru,
при загрузке страницы через GET весь текст на кириллице в body ответа читается как "крякозябры":
������ �������� ������� ��������� ������� ������.
Вот часть body :
..............
<!DOCTYPE html>
<html lang="ru" prefix="article: "><head>
<title>������ �������� ����� � ������������� ������� Masters � ������</title>
<link rel="shortcut icon" href="vicon.ico" type="image/x-icon">
<link rel="icon" sizes="120x120" href="touch-icon-iphone-retina.png" />
<link rel="apple-touch-icon" href="touch-icon-iphone.png">
<link rel="apple-touch-icon" sizes="76x76" href="ouch-icon-ipad.png">
<link rel="apple-touch-icon" sizes="120x120" href="/touch-icon-iphone-retina.png">
<link rel="apple-touch-icon" sizes="152x152" href="/touch-icon-ipad-retina.png">
<link rel="manifest" href="/manifest.json">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="���������" />
<meta name="apple-mobile-web-app-title" content="���������">
...............

Вот код запроса:
var resultHttpGet = ZennoPoster.HttpGet(project.Variables["href_site"].Value,
"",
"UTF-8",
ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody);
return resultHttpGet;

Простое изменение на кодировку Windows-1251 не помогает.
Все становится нормально, только если :
1. при GET запросе в коде указать "Windows-1251" вместо "UTF-8" и
2. самое главное в НАСТРОЙКАХ всего проекта установить параметр "Способ передачи HTTP-запросов" - По-умолчанию.
При установке параметра "Альтернативный", результат "крякозябры"

При обработке через браузер проблем нет.
Весь шаблон со всеми другими сайтами работает на "UTF-8" и "Альтернативный".
Как решить проблему именно с обработкой через GET, а не через браузер ?
Загнать кодировку в переменную и управлять ею в зависимости от типа кодировки на конкретном сайте не решает проблему,
так как управлять оперативно парметром "Способ передачи HTTP-запросов" по мере выполнения шаблона нельзя
или я ошибаюсь ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 179
Благодарностей
9 832
Баллы
113
На некоторых сайтах, например sport-interfax.ru,
при загрузке страницы через GET весь текст на кириллице в body ответа читается как "крякозябры":
������ �������� ������� ��������� ������� ������.
В настрйоках проекта на вкладке HTTP назначьте Альтернативный метод запросов.

137250

137251
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 872
Благодарностей
1 566
Баллы
113
Хм... Прямо твой код, Альтернативный - нормальная кириллица...
137252
 

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Sergodjan, я повторюсь :
Все становится нормально, только если :
1. при GET запросе в коде указать "Windows-1251" вместо "UTF-8" и
2. самое главное в НАСТРОЙКАХ всего проекта установить параметр "Способ передачи HTTP-запросов" - По-умолчанию.
При установке параметра "Альтернативный", результат "крякозябры"

или я вас неправильно понял ?
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 730
Благодарностей
1 470
Баллы
113
Sergodjan, я повторюсь :
Все становится нормально, только если :
1. при GET запросе в коде указать "Windows-1251" вместо "UTF-8" и
2. самое главное в НАСТРОЙКАХ всего проекта установить параметр "Способ передачи HTTP-запросов" - По-умолчанию.
При установке параметра "Альтернативный", результат "крякозябры"

или я вас неправильно понял ?
Если версия зеннопостера слишком стара, нужно обновится. С крякозябликами была половина сайтов
 

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Moonwalker, да, все верно, проблема не с главной страницей самого коренноого домена sport-interfax.ru, а уже с его новостными страницами, типа sport-interfax.ru/1055674
 

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
The_vAe, версия 7.8.12.0
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 179
Благодарностей
9 832
Баллы
113
Sergodjan, я повторюсь :
Все становится нормально, только если :
1. при GET запросе в коде указать "Windows-1251" вместо "UTF-8" и
2. самое главное в НАСТРОЙКАХ всего проекта установить параметр "Способ передачи HTTP-запросов" - По-умолчанию.
При установке параметра "Альтернативный", результат "крякозябры"

или я вас неправильно понял ?
Все правильно, на сайте 1251 кодировка объявлена.
Меняйте кодировку в кубике запроса.
Все равно кракозябрит?

137255

PS: Я проверил с windows-1251 кодировкой в кубике - все ок.
 

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Sergodjan,
"Windows-1251" вместо "UTF-8" не спасает,
только если в НАСТРОЙКАХ всего проекта установить параметр "Способ передачи HTTP-запросов" - По-умолчанию.
А при "АЛЬТЕРНАТИВНОМ" все "криво".
 

Moonwalker

Client
Регистрация
16.03.2016
Сообщения
1 872
Благодарностей
1 566
Баллы
113
Moonwalker, да, все верно, проблема не с главной страницей самого коренноого домена sport-interfax.ru, а уже с его новостными страницами, типа sport-interfax.ru/1055674
Попробуй запрос делать другим способом (по сути, получаем в win-1251, конвертируем):

C#:
byte[] responseBytes = ZennoPoster.HTTP.RequestBytes(
    ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET,
    project.Variables["href_site"].Value,
    "",
    "",
    "",
    "",
    ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
    30000,
    "",
    "",
    true,
    5,
    null,
    null,
    false,
    false,
    null,
    false
);

Encoding win1251 = Encoding.GetEncoding("windows-1251");
string resultText = win1251.GetString(responseBytes);

return resultText;
PS. Если нужно именно с заголовками, то, соответственно, HeaderAndBody вместо BodyOnly.
 
Последнее редактирование:
  • Спасибо
Реакции: Truelife и flySP

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 179
Благодарностей
9 832
Баллы
113
Sergodjan,
"Windows-1251" вместо "UTF-8" не спасает,
только если в НАСТРОЙКАХ всего проекта установить параметр "Способ передачи HTTP-запросов" - По-умолчанию.
А при "АЛЬТЕРНАТИВНОМ" все "криво".
Используйте тогда по умолчанию метод.
У меня и с корня сайта и с внутренней страницы - не кракозябрит.
 

Вложения

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Moonwalker, спасибо, все заработало.
 

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Sergodjan, при "АЛЬТЕРНАТИВНОМ" все "криво"
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 179
Благодарностей
9 832
Баллы
113
Sergodjan, при "АЛЬТЕРНАТИВНОМ" все "криво"
Верните на Стандартный метод, который по умолчанию.
Или вам нужен сейчас именно Альтернативный метод? Для чего?
 
Последнее редактирование:

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Sergodjan, необходима работа без "крякозябров" именно при "АЛЬТЕРНАТИВНОМ", весь фунционал проекта настроен и корректно РАБОТАЕТ при "АЛЬТЕРНАТИВНОМ"
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 179
Благодарностей
9 832
Баллы
113
Sergodjan, необходима работа без "крякозябров" именно при "АЛЬТЕРНАТИВНОМ", весь фунционал проекта настроен и корректно РАБОТАЕТ при "АЛЬТЕРНАТИВНОМ"
Тогда используйте что вам выше подсказали.
 

Roman*

Client
Регистрация
25.09.2013
Сообщения
1 663
Благодарностей
668
Баллы
113
Еще бывает помогает вместо accept-encoding: gzip, deflate, br, zstd ставить accept-encoding: gzip, deflate, br (без zstd), если полностью все из кракозябр.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 179
Благодарностей
9 832
Баллы
113
Еще бывает помогает вместо accept-encoding: gzip, deflate, br, zstd ставить accept-encoding: gzip, deflate, br (без zstd), если полностью все из кракозябр.
Пробовал, не прокатило.
Тем более 7.8.12.0 должен справляться с этим.
Проблема с zstd была на старых версиях.
 
  • Спасибо
Реакции: Roman*

flySP

Client
Регистрация
30.09.2025
Сообщения
14
Благодарностей
0
Баллы
1
Всем спасибо, как я и сказал выше, заработал вариант предложенный Moonwalker
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)