ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 22.12.2009, 17:36
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
С нами: 8673383

Репутация: 3
По умолчанию

Ваш код выдаёт ошибку, такую же как и мою, не знаю как он у вас работает!?
Ошибка:
Project Project1.exe raised exception class EIdHTTPProtocolException With Message 'HTTP/1.1 302 Found'. Process stopped. Use Step or Run continue
 
Ответить с цитированием

  #12  
Старый 22.12.2009, 17:46
patcher
Познающий
Регистрация: 15.12.2009
Сообщений: 81
С нами: 8634231

Репутация: 24
По умолчанию

Вот, пробуй этот код:
Код:
function loginvk(login, pass:string; HTTPClient:TIdHTTP):boolean;
var data:TIdMultiPartFormDataStream; s:string; res:TStringList;
begin;
HTTPClient.HandleRedirects:=True;
Data:=TIdMultiPartFormDataStream.Create;
Data.AddFormField('op', 'a_login_attempt');
HTTPClient.Post('http://vkontakte.ru/login.php', data);
data.Free;
res:=TStringList.Create;
Data:=TIdMultiPartFormDataStream.Create;
Data.AddFormField('email', login);
Data.AddFormField('pass', pass);
Data.AddFormField('expire', '');
Data.AddFormField('vk', '');
res.text:=HTTPClient.Post('http://login.vk.com/?act=login', data);
data.Free;
s:=copy(res[10], 51, length(res[10])-54);
res.Free;
if s<>'ext/css' then begin
Data:=TIdMultiPartFormDataStream.Create;
Data.AddFormField('op', 'slogin');
Data.AddFormField('redirect', '1');
Data.AddFormField('expire', '0');
Data.AddFormField('to', '');
Data.AddFormField('s', s);
HTTPClient.Post('http://vkontakte.ru/login.php', data);
data.Free;
result:=true;
end
else result:=false;
end;
Функция при удачной авторизации возвращает true, при неудачной - false.
 
Ответить с цитированием

  #13  
Старый 22.12.2009, 18:03
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
С нами: 8673383

Репутация: 3
По умолчанию

patcher
Какая у тебя Indy, у меня нету компанента IdMultiPartFormDataStream

Код:
s:=copy(res[10], 51, length(res[10])-54);
Как я понимаю спускаемся до 10 стр. идём до 51 знака и потом тип копируем 54.
Вообще куки длиной 56 и строка не 10 а 11 в коде(

Последний раз редактировалось Kandi; 22.12.2009 в 18:07..
 
Ответить с цитированием

  #14  
Старый 22.12.2009, 18:05
patcher
Познающий
Регистрация: 15.12.2009
Сообщений: 81
С нами: 8634231

Репутация: 24
По умолчанию

Эмм....забыл:
Код:
uses IdMultipartFormData
 
Ответить с цитированием

  #15  
Старый 22.12.2009, 19:28
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 577
С нами: 10943066

Репутация: 1236


По умолчанию

так у тя там ж в заголовке написано 302 Found... Location: profile.php

блин ща сам посмотрю)
__________________


snow white world wide
 
Ответить с цитированием

  #16  
Старый 22.12.2009, 19:35
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 2399


По умолчанию

100% работает (2а запроса):
Код:
use
    ..IdHTTP,ShellApi,RegExpr..;

var LoginInfo: TStrings;
    r      :TRegExpr;
    page : string;

....

    LoginInfo := TStringList.Create;
    LoginInfo.Clear;
        
    IdHTTP1.Host:='login.vk.com';
    IdHTTP1.Port:=80;
    LoginInfo.Add('op=a_login_attempt');
    try
       page := idhttp1.Post('http://vkontakte.ru/login.php',LoginInfo);
    except
       showmessage('nemogy auth');
       exit;
    end;
    if (pos('captcha_sid',page)>0) then
    begin
            showmessage('this is captchaaaaa!');
            exit;
    end;

    LoginInfo.Clear;
    LoginInfo.Add('email='+edit_login.Text);
    LoginInfo.Add('pass='+edit_pass.Text);
    page := idhttp1.Post('http://pda.vkontakte.ru/login?pda=index&acknowledge=0',LoginInfo);
    r := TRegExpr.Create;
    page := idhttp1.get('http://pda.vkontakte.ru/status');
    if (pos('name="activityhash"',page)<=0) then begin
        showmessage('bad login \ pass');
        exit;
    end;
    showmessage('good login \ pass');
http://www.sendspace.com/file/55jwwv

Последний раз редактировалось eLWAux; 22.12.2009 в 20:05..
 
Ответить с цитированием

  #17  
Старый 22.12.2009, 20:50
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
С нами: 8673383

Репутация: 3
По умолчанию

Огромное спасибо eLWAux. Наконец, сделал авторизацию!
 
Ответить с цитированием

  #18  
Старый 22.12.2009, 23:03
Kandi
Познающий
Регистрация: 18.11.2009
Сообщений: 44
С нами: 8673383

Репутация: 3
По умолчанию

К сожалению сделал её только на pda.vkontakte.ru
как быть с vk.com и vkontakte.ru ???
 
Ответить с цитированием

  #19  
Старый 23.12.2009, 00:27
unl1m
Участник форума
Регистрация: 25.11.2008
Сообщений: 200
С нами: 9188969

Репутация: 45
По умолчанию

спасибо ТС
 
Ответить с цитированием

  #20  
Старый 23.12.2009, 01:47
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
С нами: 9162683

Репутация: 175
По умолчанию

Скачивай исходники программы Vkonpic на этом сайте:
_http://3po.ru/vkonpic/
Там есть рабочая процедура авторизации на vkontakte.ru.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рабочий фейк + блокиратор вконтакте. Внутренняя авторизация. TweakeR Покупка, продажа, услуги в Соц. Сетях 7 22.12.2009 12:57
Авторизация вконтакте Isis PHP 6 17.12.2009 20:18
Авторизация вконтакте. yfet С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 10 03.12.2009 18:23
Авторизация вконтакте alenushka С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 7 12.11.2009 09:19
Авторизация Вконтакте cren PHP 5 07.10.2009 00:56



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.