0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 3
1

IDhttp кодировка

23.06.2015, 20:06. Показов 1203. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток.
Пишу парсинг сайтов.

Нашел проблему, помогите решить.

Вообщем есть 2 сайта. На них <meta http-equiv="content-type" content="text/html; charset=utf-8".
Получается, что должен читать и русские и английские символы. Но читает только на одном из них.
Для другого использовал функцию UTFToString. После этого прочитал. Однако перестал читать на первом. Символы превратились в ромбики. Как быть в этом случае. Сайтов для парсинга может быть много. Может есть общая функция?
Есть третий сайт, на котором в именах ссылок русские символы.

Добавлено через 43 минуты
Для чтения использую
C++
1
2
3
4
5
6
7
8
9
10
11
12
    TIdHTTP *httpBrowse = new TIdHTTP(NULL);
    httpBrowse->Request->AcceptCharSet = "windows-1251,utf-8;q=0.7,*;q=0.7";
    httpBrowse->Request->AcceptLanguage = "ru-RU,ru;q=0.8,en-us;q=0.7,en;q=0.3";
    httpBrowse->ReadTimeout = 5000;
    bool rtime = false;
    String httpMemo;
    String forError = URL_ListBox->Items->Strings[numberUrl];
    try {
        httpBrowse->HandleRedirects = true;
        httpMemo = httpBrowse->Get(URL_ListBox->Items->Strings[numberUrl]);
        if (httpMemo != "") return httpMemo;
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2015, 20:06
Ответы с готовыми решениями:

Кодировка в теле POST-запроса (idHTTP)
Добрый день. Помогите люди добрые, уже не знаю куда бежать, весь инет перерыл. Вот простенький...

idHTTP
Здравствуйте! Подскажите пожалуйста как работать с этим компонентом? Мне нужно отправить POST...

Socket. IdHTTP
Привет! При получения сайта FTF = Form3-&gt;IdHTTP1-&gt;Get(&quot;http://Site.com&quot;); Сначала всё хорошо,...

IdHTTP - исключения
Добрый день. Учусь скачивать страницы сайтов. Задача: скачать страницы сайта, адреса которых...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
23.06.2015, 20:12 2
Версия Билдера? На новых (начиная с 2009) прекрасно читается через:
C++
1
2
3
    std::auto_ptr<TStringStream> ss (new TStringStream("", TEncoding::UTF8, true));
    IdHTTP1->Get("http://www.yandex.ru/", ss.get());
    Memo1->Text = ss->DataString;
1
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 3
23.06.2015, 20:49  [ТС] 3
Версия XE 7.

Добавлено через 13 минут
Спасибо
0
23.06.2015, 20:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2015, 20:49
Помогаю со студенческими работами здесь

IdHTTP авторизация
Добрый день! Коспонент TIdHTTP (у меня назван IdHTTP2) Подскажите пожалуйста, как с его...

IdHTTP перенаправление
Для автоматического перехода на перенаправляемую страницу необходимо установить свойство ...

idhttp и картинка
Всем привет, интересует как получить капчу с этого сайта http://smste.ru

IdHTTP и find
Как правильно получить код страницы через гет запрос что бы можно было применять find или что-то...


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

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

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