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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2011, 17:15   #1
DemonXT
Пользователь
 
Аватар для DemonXT
 
Регистрация: 31.03.2009
Сообщений: 40
Вопрос Авторизация на Одноклассниках

Доброе время суток!

Очень нужно ваша помощь.
Ни как не получается проверить результат авторизации на одноклассниках.
Вот часть моего кода:
Код:
var Http:TidHttp; CooMana:TidCookieManager; Data:TStringList;
    StrPage:string; TXTstream:TStringStream;
begin
  Http:=TIdHTTP.Create(Self);
  Data:=TStringList.Create;
  TXTstream:=TStringStream.Create('');
  CooMana:=TidCookieManager.Create(Http);
  try
    Http.AllowCookies:=True;
    Http.CookieManager:=CooMana;
    Http.HandleRedirects:=True;
    Http.Request.Host:='www.odnoklassniki.ru';
    Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10';
    Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
    Http.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3';
    Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7';
    Http.Request.Referer:='http://www.odnoklassniki.ru/';
    StrPage:=Utf8ToAnsi(Http.Get('http://odnoklassniki.ru/'));
    Data.Add('st.redirect=');
    Data.Add('st.posted=set');
    Data.Add('st.email=XXX');
    Data.Add('st.password=XXXXXX');
    Data.Add('st.fJS=enabled');
    Data.Add('st.screenSize=1280 x 1024');
    Data.Add('st.browserSize=551');
    Data.Add('st.flashVer=10.2.159');
    Data.Add('button_go=Войти');
    Http.Post(EraseStr(Pars('"panelBox_body"><form action="',StrPage,'"')),Data,TXTstream);
    RichEdit1.Lines.Text:=Utf8ToAnsi(TXTstream.DataString);
    Form1.RichEdit1.Lines.SaveToFile('1.htm');
  finally
    Data.Free;
    TXTstream.Free;
    CooMana.Free;
    Http.Free;
  end;

...

function TForm1.Pars(T_, ForS, _T: string): string;
var
  a, b: integer;
begin
  Result := '';
  if (T_ = '') or (ForS = '') or (_T = '') then
    Exit;
  a := Pos(T_, ForS);
  if a = 0 then
    Exit
  else
    a := a + Length(T_);
  ForS := Copy(ForS, a, Length(ForS) - a + 1);
  b := Pos(_T, ForS);
  if b > 0 then
    Result := Copy(ForS, 1, b - 1);
end;
В ответ на post-запрос получаю не полную строку. Удаётся почему-то получить примерно первую половину страницы. Из-зи чего не могу проверить удалось мне авторизироваться или нет!
Помогите, пожалуйста, получить страницу результат а пост-запроса.полностью.
DemonXT вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обычная авторизация или авторизация на уровне браузера? calugin Безопасность, Шифрование 0 13.01.2011 00:34
кто сможет удалить мой аккаунт в одноклассниках? feel free Свободное общение 6 17.09.2010 15:52
Авторизация на одноклассниках freest Общие вопросы Delphi 1 26.12.2009 17:57
Законна ли вставка логотипа на фотографиях в одноклассниках? Snoopy Свободное общение 12 12.08.2009 10:38