Jul 25

Авторизация на сервисе vkontakte.ru с помощью ClientSocket

Давайте посмотрим, как это возможно сделать на сокетах?..

Делаем сначало так… На форму саму добавляем компонент ClientSocket, а также 2 Edit и Button

procedure TForm1.Button1Click(Sender: TObject);

begin

if ClientSocket1.Active = true then

ClientSocket1.Active := false;

ClientSocket1.Active := true;

end;

procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);

begin

statusbar1.Panels[0].Text := 'Connect Success';

ClientSocket1.Socket.SendText('POST /login.php HTTP/1.1'#13#10+

'Accept: */*'#13#10+

'Referer: http://vkontakte.ru/login.php?u=1'#13#10+

'Accept-Language: ru'#13#10+

'Content-Type: application/x-www-form-urlencoded'#13#10+

'User-Agent: Mozilla/4.0'#13#10+

'Host: vkontakte.ru'#13#10+

'Content-Length: '+inttostr(length('success_url=&fail_url=&try_to_login=1&email='+edit1.Text+'&pass='+edit2.Text))+#13#10+

'Connection: Keep-Alive'#13#10+

'Cache-Control: no-cache'#13#10#13#10+

'success_url=&fail_url=&try_to_login=1&email='+edit1.text+'&pass='+edit2.Text);

end;

procedure TForm1.ClientSocket1Disconnect(Sender: TObject; Socket: TCustomWinSocket);

begin

statusbar1.Panels[0].Tex t:= 'Disconnected';

end;

procedure TForm1.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;

ErrorEvent: TErrorEvent; var ErrorCode: Integer);

begin

statusbar1.Panels[0].Text := 'Error #'+ inttostr(ErrorCode);

end;

procedure TForm1.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);

var

ans : string;

begin

ans := ClientSocket1.Socket.ReceiveText;

if pos('HTTP/1.1 302 Found', ans) <>0 then

statusbar1.Panels[0].Text := 'Success login';

if pos('<div id="error" />',ans) &lt;&gt; 0 then

statusbar1.Panels[0].Text:= 'Bad login';

end;

Вот и все… Надеюсь всем понятно написано…

Спонсор поста: любите играть в казино? Желаете выигрывать быстро приличные суммы денег в карточные игры? Не знаете как получить 1500$ на 1 час игры в онлайн казино!!! Заходите на сайт gamblingviewer.com и узнайте о самых выгодных бонусах от лучших казино!


Поделитесь вашими мыслями

Поддерживаемые теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>