1. rwikk112.05.2025 в 15:38от
Загрузка...
Загрузка...

[Help][Delphi] Авторизация на mail.yandex.ru

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем Indie, 04.01.2014.

Статус темы:
Закрыта.
  1. Indie

    Тру кодер
    Indie

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    901
    Репутация:
    192 +/-
    Помогите сделать авторизацию на Яндексе.
    Как только ни пробовал(synapse)
    Сделайте пожалуйста её на indy(переделаю под инди) или на synapse
     
  2. Port333

    Port333

    Статус:
    Оффлайн
    Регистрация:
    31.12.13
    Сообщения:
    26
    Репутация:
    40 +/-
    Код:
    var  POST: TStringList;
    begin
      Post := TStringList.Create;
      Post.Add('login=snuppie@yandex.ru');
      Post.Add('twoweeks=yes');
      Post.Add('passwd=H1djljhjl22');
      Form11.IdHTTP1.Post('https://passport.yandex.ru/passport?mode=auth&retpath=https%3A%2F%2Fmail.yandex.ua%2F%3Forigin%3Dlog_ua_l&origin=log_ua_l', Post);
      if Form11.IdCookieManager1.CookieCollection.Count > 3 then
       Form11.sMemo2.Lines.Add('ok')
      else
       Form11.sMemo2.Lines.Add(' no ok');
    end;
     
    Последнее редактирование: 04.01.2014
  3. Indie

    Тру кодер
    Indie

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    901
    Репутация:
    192 +/-
    Переписываю на Synapse и ничего не получается.
     
  4. Xenozite

    Xenozite

    Статус:
    Оффлайн
    Регистрация:
    02.07.12
    Сообщения:
    335
    Репутация:
    149 +/-
    Когда вы сниффером пользоваться научитесь?

    var POST: TStringList;
    KeyValue:string;
    begin
    Post := TStringList.Create; // Посмотрите в сниффер, там динамические параметры из исходного кода берутся еще.
    HTML:=Form11.IdHTTP1.Get('https://passport.yandex.ru/passport?mode=auth&twoweeks=yes');
    KeyValue:= Pars('<input type="hidden" name="idkey" value="',HTML,'" />');
    Post.Add('idkey='+KeyValue);
    Post.Add('login='+Login);
    Post.Add('passwd='+Pass);
    Post.Add('timestamp=');
    Form11.IdHTTP1.Post('https://passport.yandex.ru/passport?mode=auth&twoweeks=yes', Post); // Зачем такой огромный линк брать? Отсеките ненужные параметры.
    if Form11.IdCookieManager1 содержит строку Set-Cookie: yandex_login=
    Form11.sMemo2.Lines.Add('ok')
    else
    Form11.sMemo2.Lines.Add(' no ok');
    end;
    Редирект можно в принципе отключить ибо кук мы получаем с первого запроса.
     
    Последнее редактирование: 04.01.2014
  5. Ronaldo7

    Ronaldo7

    Статус:
    Оффлайн
    Регистрация:
    03.09.11
    Сообщения:
    10
    Репутация:
    2 +/-
    Держи... Полностью рабочий код(писал не давно)

     
Статус темы:
Закрыта.