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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.10.2010, 20:13   #1
Byblick32
Пользователь
 
Аватар для Byblick32
 
Регистрация: 29.07.2010
Сообщений: 10
По умолчанию Авторизация в ЖЖ? Не так просто!

Всем привет. Нужно авторизоватся на ЖЖ, пробую вот такой код

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Http  : TidHttp;
  CM    : TidCookieManager;
  Data  : TStringList;
  StrPage, UserID,  UserName  :  String;
  i : integer;
begin
  try
    Http := TIdHTTP.Create(Self);
    Data := TStringList.Create;
    CM := TidCookieManager.Create(Http);
    Http.AllowCookies := true;
    Http.CookieManager := CM;
    Http.HandleRedirects := true;

    Http.Request.Host:='livejournal.com';
    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.livejournal.com/';

    Data.Add('mode=login');
    Data.Add('user=' + Edit1.Text);
    Data.Add('password=' + Edit2.Text);
    StrPage := Http.Post('http://www.livejournal.com/login.bml?ret=1', Data);
  finally
    Data.Free;
    CM.Free;
    Http.Free;
  end;

  if Pos('<input class="logoutlj_hidden" id="user" name="user" type="hidden" value="'+Edit1.Text,StrPage) <> 0 then
    ShowMessage('Авторизация прошла успешно')
  else
    ShowMessage('Авторизация провалилась');

  Memo1.Lines.Text := StrPage;
end;
не работает, может кто сталкивался.
Код взят с блога. Там сказано, что передаваемые параметры проверяли снифером, но сейчас при прослушке авторизации снифером он молчит (!), как узнать тогда что передается на сервер?
Что подправить, буду благодарен за помощь.
Byblick32 вне форума Ответить с цитированием
Старый 01.10.2010, 22:41   #2
kakawkin
Форумчанин
 
Регистрация: 21.09.2009
Сообщений: 431
По умолчанию

Код:
    <form action="https://www.livejournal.com/login.bml?ret=1" id="login" method="post" name="login">
    <input type='hidden' name='mode' value='login' />
    
    
                                <table class="login-form"><tr>

                                        <td colspan="3"><a href="http://www.livejournal.com/create.bml">Создать аккаунт</a> или войти через <a href="http://www.livejournal.com/identity/login.bml?type=openid" title="Войти под OpenID " class="i-auth"><img src="http://l-stat.livejournal.com/img/icons/openid-16.gif" width="16" height="16" alt="Войти под OpenID " /></a> <a href="http://www.livejournal.com/identity/login.bml?type=facebook" title="Войти под Facebook-аккаунтом" class="i-auth"><img src="http://l-stat.livejournal.com/img/icons/facebook-16.gif" width="16" height="16" alt="Войти под Facebook-аккаунтом" /></a></td>
                                </tr>
                                <tr>
                                        <td><input type="text" class="txt" name="user" id="login_user" value="username" onblur="if (this.value=='') this.value='username';" onfocus="if (this.value=='username') this.value='';" /></td>
                                        <td><input type="password" name="password" class="txt lj_login_password" id="login_password" /></td>
                                        <td><input  id="loginlj_submit" name="_submit" type="submit" value="Вход " onclick='return sendForm()'/></td>
                                </tr>

                                <tr>
                                        <td><label for="login-rememb"><input type="checkbox" name="remember_me" value="1" id="login-rememb" class="rememb">Запомнить</label></td>
                                        <td><label class="forget"><a href="http://www.livejournal.com/lostinfo.bml">Забыли имя пользователя или пароль?</a></label></td>
                                        <td></td>
                                </tr>
                                </table>
                            </form>
первый минус - прочитай поля повнимательней и проверь что выдает Data из post запроса
kakawkin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вы от олимпиадников так просто не отделаетесь! ds.Dante Свободное общение 24 18.11.2011 08:48
из Excel в OutLook (не всё так просто...) Koddo Microsoft Office Excel 8 19.01.2011 14:34
TurboPascal: всего лишь сменить min на max, но всё не так-то просто... ulala Помощь студентам 0 19.12.2009 19:08
Автоматизация нумерации. Просто? Так поясните же мне!! enRai Помощь студентам 3 23.07.2009 07:55
Не всё так просто с кусором! TCursor и Aslan Общие вопросы Delphi 1 11.07.2007 18:31