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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 18:50   #1
oleg_498
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 11
Восклицание Проблемы с кодировкой (delphi 7, Indy 10.5.7)

Возникла проблема с авторизацией вконтакте, а конкретно с кодировкой. При получении исходника страницы получаю одни знаки вопроса. Так же не проходит авторизация. Пароль на английском. День назад все работало, сегодня поменял Indy и произошли изменения в структуре сайта, возможно и в авторизации. Запутался в добавок в общем

Код:
IdHTTP1.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHTTP1.Request.AcceptLanguage := 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3';
IdHTTP1.Request.AcceptCharSet := 'windows-1251,utf-8;q=0.7,*;q=0.7';
IdHTTP1.Request.ContentType := 'application/x-www-form-urlencoded';
IdHTTP1.Request.Connection := 'keep-alive';
IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/2008092417 Firefox/3.0.3';
data:=tstringlist.create;
PageProfile:=TStringList.Create;
data.Add('email='+edit1.text);
data.Add('pass='+edit2.text);
data.Add('vk=');
error:=false;
PageProfile.text:=IdHTTP1.Post('http://login.vk.com/?act=login', data);
Где и что нужно сделать с кодировкой? Или возможно есть ошибки, недочеты в коде?
oleg_498 вне форума Ответить с цитированием
Старый 04.12.2010, 19:08   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

про кодировки уже баянище прям.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.12.2010, 19:16   #3
oleg_498
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 11
По умолчанию

Знаю, просмотрел множество способов. Почему то не помогает...
oleg_498 вне форума Ответить с цитированием
Старый 04.12.2010, 20:43   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Используйте же потоки(так же может быть: сервер даёт сжатые данные; кодировка UTF-8 )

Решение с потоками, написал такую функцию
Код:
function StreamToText(S: TStream): string;
var
  Lst :TStrings;
begin // Stream To Text
 Result := '';
 if S <> nil then
 begin
  Lst := TStringList.Create;
   try
  if S.Size <= 0 then
    Exit;
     // 
  S.Position := 0;
  Lst.LoadFromStream(S);
  Result := Lst.Text;
   finally
  Lst.Clear;
  FreeAndNil(Lst);
   end;
 end;
end;
Использовать
Код:
var
  Text :TStrings;
  M :TMemoryStream;

// ...........

 M := TMemoryStream.Create;
  try
 FHttp.Post('http://login.vk.com/?act=login', data, M);
 Text := StreamToText(M);
  finally
 M.Clear;
 FreeAndNil(M);
  end;
Alter вне форума Ответить с цитированием
Старый 04.12.2010, 20:45   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Alter, а кто мешал сразу TStringStream брать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.12.2010, 23:53   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Никто , я только предложил.
Alter вне форума Ответить с цитированием
Старый 06.12.2010, 10:31   #7
oleg_498
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 11
По умолчанию

Нашел решение здесь: http://programmersforum.ru/showthread.php?t=81670
Пепел Феникса, спасибо что хоть там верно ответил.
oleg_498 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Проблемы с кодировкой bookkc Помощь студентам 11 19.12.2010 05:25
Проблема с кодировкой Indy 10 Joe_Tribbiani Работа с сетью в Delphi 10 08.03.2009 16:03
Проблемы с кодировкой? [Smarik] БД в Delphi 35 15.02.2009 15:32
Проблемы с кодировкой LAGOX PHP 7 14.02.2009 15:13
Проблемы с кодировкой Levchik HTML и CSS 2 16.12.2008 16:12