Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Авторизация через Http.Post (https://forum.antichat.xyz/showthread.php?t=204353)

ArkNet 16.05.2010 08:45

Авторизация через Http.Post
 
Если не сложно киньте рабочий исходный код авторизации вконтакте желательно через метод Post и с комментами.
Вот что получилось.

procedure TForm1.Button1Click(Sender: TObject);
var
list: TStringList;
begin
list:=TStringList.Create();
list.Add('u=1');
list.Add('success_url=');
list.Add('fail_url=');
list.Add('try_to_login=1');
list.Add('email='+Edit1.Text);
list.Add('pass='+Edit2.Text);
try
Memo1.Lines.Text:=IdHTTP1.Post('http://login.vk.com/?act=login',list);
finally
list.Free;
IdHTTP1.Disconnect;
end;




После отправки получаю в Memo1

<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=windows-1251' />
</head>
<body onload="document.getElementById('l').submit();">
<form id='l' method='post' action='http://vkontakte.ru/login.php'>
<input type='hidden' name='s' id='s' value='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx' />
<input type='hidden' name='op' id='op' value='slogin' />
<input type='hidden' name='redirect' id='redirect' value='1' />
<input type='hidden' name='expire' id='expire' value='0' />
<input type='hidden' name='to' id='to' value='' />
</form>
</body>
</html>


Нужна помощь....Знающих людей. :confused:

wolmer 16.05.2010 08:49

тут посмотри решение проблемы:
forum.antichat.ru/thread165316.html

если нужен готовый код -> пробуй это: forum.antichat.ru/thread204126.html

ArkNet 16.05.2010 09:34

Спасибо почти розобрался...

Berman 16.05.2010 09:40

Я юзаю такие настройки для авторизации. (IdHttp)
http://clip2net.com/clip/m39024/1273...-clip-71kb.jpg
На форме кукименеджер должен быть привязан к idhttp, handleredirects ---> true
AllowCookies ---> True;

код Делфи
Цитата:


procedure Tform1.Button1Click(Sender: TObject);
var
uns: String;
s: String;
outfo: TStringList;
begin
pass := StringReplace(edit2.text, ' ', '+', [rfReplaceAll, rfIgnoreCase]);
outfo := TStringList.Create;
idhttp1.Get('http://vkontakte.ru/login.php?op=a_login_attempt');
outfo.Add('act=login');
outfo.Add('email='+edit1.text);
outfo.Add('pass='+pass);
try
uns:=UTF8toANSI(idhttp1.post('http://login.vk.com/', outfo));
s:=copy(uns, 286, 56);
memo1.Lines.add('Cookies: '+s);
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vkontakte.ru');
finally
if s = '' then
begin
//Неудачно
end
else
begin
//Залогплись

Berman 16.05.2010 09:41

Тут есть обработка исключений типа русского пароля и пароля с пробелами :)

ArkNet 16.05.2010 11:03

memo1.Lines.add('Cookies: '+s);
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vkontakte.ru');
finally
if s = '' then


Можно по подробней эту часть кода обьяснить.

Nelzone 16.05.2010 11:40

Цитата:

Сообщение от ArkNet
memo1.Lines.add('Cookies: '+s);
IdCookieManager1.AddCookie('remixsid='+s+ '; path=/; ','vkontakte.ru');
finally
if s = '' then

begin
Label1.caption:='Good';
end
else
begin
Label1.caption:='bad';
end;


Можно по подробней эту часть кода обьяснить.

добовляет лину мемо куки,s String,remixsid айди вк,в дир
vkontakte.ru..
дальше

begin
Label1.caption:='Неудачно';
end
else
begin
Label1.caption:='Залогнлись';
end;

ArkNet 16.05.2010 11:53

IdCookieManager1.AddCookies('remixsid='+s+ '; path=/; ','vkontakte.ru');

вот эта строчка что дает?
при компиляиции тут вылетает

Incompatible type: 'TIdCookieManedger' and 'String'

M_script_ 16.05.2010 12:21

Цитата:

Сообщение от Berman
Тут есть обработка исключений типа русского пароля и пароля с пробелами :)

Если в пароле будет '+', то аккаунт не авторизуется.

ArkNet 16.05.2010 12:36

Для создания простого чекера акаунтов даже хватит получения кукис.
Если получил 54 значную строку значить валидный.... :rolleyes:


А для того чтоб получить исходный код самой страницы с анкетой что надо? :confused:

И есть ли гдето полная инфа на русском языке про коммпонент Idhhttp желательной с картинками и с видео. :confused:


Время: 13:57