Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 14:03   #1
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию Indy в Delphi XE2

Помогите пожалуйста. Не могу спарсить страничку. Проблема в кодировке как я понимаю.
Код такой:
Код:
var
s: String;
begin
s:= 'хттп://ввв.rutor.org/';
IdHTTP1.Get(s);
sMemo1.Lines.Text:=IdHTTP1.Get(s);
end;
Парсит все, но русский текст выдает в виде всяких кубиков.
Пробовал так:

Код:
sMemo1.Lines.Text:=IdHTTP1.Get(Utf8ToAnsi(s));
Код:
sMemo1.Lines.Text:=IdHTTP1.Get(Utf8Encode(s));
Не помогает. Версия Delphi у меня XE2.
Может кто знает как решить проблему?
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 02.05.2013, 15:11   #2
demiancz
Форумчанин
 
Регистрация: 28.09.2010
Сообщений: 246
По умолчанию

С получением страницы в Мемо с русскими буквами вродебы разобрался.
Теперь возник другой вопрос. Если в ссылке имеются русские буквы, как перекодировать:
Например ссылка типа
ввв.vk.com/иванов
В таком случае она слово иванов в ссылке не правильно отображается и естественно в таком случае
Код:
IdHTTP1.Get('ввв.vk.com/иванов');
не работает.
Помогите пожалуйста!!!
Смотреть фильмы HD Фильмы для планшетов
demiancz вне форума Ответить с цитированием
Старый 02.05.2013, 23:46   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Используйте URLEncode
Человек_Борща вне форума Ответить с цитированием
Старый 04.05.2013, 21:30   #4
bulldog5293
Форумчанин
 
Регистрация: 13.05.2010
Сообщений: 670
По умолчанию

Цитата:
Используйте URLEncode
Я в таких случаях использую Punecod
bulldog5293 вне форума Ответить с цитированием
Старый 04.05.2013, 22:49   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Код:
function GetTxt: string;
var
  HTTP: TIdHTTP;
  SS: TStringStream;
begin
  HTTP := TIdHTTP.Create(nil);
  SS := TStringStream.Create('');
  try
    try
      HTTP.Get('www.vk.com/иванов', SS);
      Result := SS.DataString;
    except
      Result := '';
    end;
  finally
    HTTP.Free;
    SS.Free;
  end;
end;
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать массив байт [D7]Indy => [XE2]Indy Человек_Борща Работа с сетью в Delphi 1 15.09.2012 22:06
У меня borland developer studio delphi 2006 так вот как вставить на вкладку tool palette компоненты Indy Clients и Indy Misc Artem_host Общие вопросы Delphi 0 01.02.2012 09:55
Обновление indy в delphi xe2 bulldog5293 Общие вопросы Delphi 4 25.12.2011 20:05
Delphi XE2 TorrentTor Общие вопросы Delphi 4 05.12.2011 19:06
Embarcadero Delphi XE2 Partner DVD (Зборник компонентов для XE2) volod3000 Софт 2 01.11.2011 02:26