Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Авторизация на яндексе


Автор: artmaestro 2.12.2013, 16:09
Здравствуйте

Задача следующая, необходимо авторизироваться на яндексе, подскажите пожалуйста, что я не так делаю

1. Для авторизации пробовал отправлять как POST так GEТ запросы. POST- отправлял, так как на сайте яндекса это указано в ХТМЛ исходнике. А GET0отправлял, потому что нашел похожую тему http://www.cyberforum.ru/delphi-networks/thread669510.html. как бы там нибыло, нечего не получилось.

2. не могу принять данные, которые должна возвращать функция get или post

Делаю таким образом

Код


procedure TForm1.btn1Click(Sender: TObject);
var
  list:TStringList;
  CookMan: TidCookieManager;
  code,s:string;
  text:string;
begin

  list:= TStringList.Create;
  list.Add('login=mylogin');
  list.Add('passwd=mypass');
  idhtp1.CookieManager:=CookMan;
  idhtp1.AllowCookies:=True;
  idhtp1.HandleRedirects:=True;
  idhtp1.Request.UserAgent:='mozila';
  try
    text:=idhtp1.Post('http://passport.yandex.ru/passport?mode=auth',list);  //тут ошибка
  except
        ShowMessage('ошибка');
  end;
end;


Автор: Агрох 2.12.2013, 16:25
Пропустил &

Код

list.Add('&login=mylogin');
list.Add('&passwd=mypass');


Насколько помню это символ, указывающий на то, что после него идёт переменная.

Автор: artmaestro 2.12.2013, 16:35
Не получается. все равно возникает ошибка.

Да, Вы правы, но они используются при использовании GET запросов.

Вот так пробовал делать, с помощью GET

Код

idhtp1.get('http://passport.yandex.ru/passport?mode=auth&login=mylogin&passwd=mypass);


все равно возникает ошибка.

Автор: Агрох 2.12.2013, 16:46
А какую ошибку выдаёт?

Добавьте 
Код

on e:Exception do
ShowMessage('Ошибка: ' + e.Message);

после except.

Автор: artmaestro 2.12.2013, 17:14
Вот такую. 

http://s2.ipicture.ru/Gallery/Viewfull/34205912.html

Автор: artmaestro 2.12.2013, 22:54
На Delphi7 так и не смог решить. На ХЕ5, написал данный код, все работает без проблем

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)