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

Авторизация вконтакте
  #1  
Старый 08.04.2010, 18:21
Zuldrak
Познающий
Регистрация: 15.01.2010
Сообщений: 64
С нами: 8589419

Репутация: 5
По умолчанию Авторизация вконтакте

Не подкинет кто нить пример авторизации с idhttp , а то по многому пробывал и чет не катит,желательно builder

Пробывал так

Код HTML:
AnsiString get_sid; AnsiString Name = "mr@mail.ru"; AnsiString Password = "****"; AnsiString     current_id;get_sid = web->Get("http://login.vk.com/?act=login&email=maxr@mail.ru&pass=34x&expire=0"); get_sid = get_sid.Delete(1,get_sid.Pos("id='s' value='")+13); get_sid = get_sid.Delete(get_sid.Pos("'"),get_sid.Length()); current_id = get_sid; Cook->AddCookie("remixchk=5","vkontakte.ru"); Cook->AddCookie("remixsid="+get_sid,"vkontakte.ru");   TStringStream *respon = new TStringStream(); TStringList *post= new TStringList(""); post->Add("u=2&op=slogin&redirect=1&expire=0&to=bWFpbC5waHA-&s="+current_id); web->Post("http://vkontakte.ru/login.php",post,respon); Memo1->Text = respon->DataString; delete respon,post;

Последний раз редактировалось Zuldrak; 08.04.2010 в 18:30..
 
Ответить с цитированием

  #2  
Старый 08.04.2010, 18:37
ChinaTown
Новичок
Регистрация: 15.11.2008
Сообщений: 21
С нами: 9202810

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

Писал как то)


Код:
 procedure login;     var  html:string;  s:string ;  begin      Form1.Label1.Caption:='Получам доступ в хранилище' ;   html := form1.IdHTTP1.Get('http://vkontakte.ru/login.php?op=a_login_attempt');   if (html='vklogin') then   begin   Form1.Label1.Caption:='Обмениваемся информацией с хранилищем' ;   html:=form1.IdHTTP1.Get('http://login.vk.com/?act=login&email=sss@ddd.ru&pass=pass&expire=&vk=');   s:= RegexProc('value='''+'([\w]{15,80})',html);   s:= RegexProc('[\w]{15,80}',s);       Form1.IdHTTP1.HandleRedirects:=true;       Form1.IdHTTP1.RedirectMaximum:=0;       Form1.IdHTTP1.CookieManager:= form1.IdCookieManager1;       Form1.IdHTTP1.AllowCookies:=true;     Try   html:= Form1.IdHTTP1.Get('http://vkontakte.ru/login.php?op=slogin&redirect=1&expire=0&to=&s='+s) ;    Except      ShowMessage('Неизвестная ошибка');    end;    cook:=  RegexProc('remixsid=([\w]{20,100})', form1.IdHTTP1.Response.RawHeaders.GetText  );    cook:=  RegexProc('([\w]{20,100})',cook);   end   else   begin   Form1.Label1.Caption:='Доступ невозможен, т.к. на ваш айпи повешенна капча!' ;   end;       end;

Код:
Form1.IdCookieManager1.AddCookie('remixsid='+cook+'; path=/; ','vkontakte.ru');    Form1.IdCookieManager1.AddCookie('remixchk=5; path=/;','vkontakte.ru');      Form1.IdHTTP1.CookieManager:= Form1.IdCookieManager1;    Form1.IdHTTP1.Request.UserAgent:='Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10';    request:=TStringList.Create;    Form1.IdHTTP1.AllowCookies := true;    //request.Add('midAuth=1');    //request.Add('user='+'jjj');    //request.Add('pswd='+'lll');    Form1.Label1.Caption:='Переходим на vkontakte.ru' ;    try    bufer:=Form1.IdHTTP1.Get('http://vkontakte.ru/');      except  ShowMessage('Ошибка связи!');
 
Ответить с цитированием

  #3  
Старый 08.04.2010, 18:37
ChinaTown
Новичок
Регистрация: 15.11.2008
Сообщений: 21
С нами: 9202810

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

Правда на делфи, но думаю поможет. А вообще инди глючная фигня.
 
Ответить с цитированием

  #4  
Старый 08.04.2010, 18:40
Zuldrak
Познающий
Регистрация: 15.01.2010
Сообщений: 64
С нами: 8589419

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

Точно рабочий? А то щас переведу и опять облом))
 
Ответить с цитированием

  #5  
Старый 08.04.2010, 20:34
ChinaTown
Новичок
Регистрация: 15.11.2008
Сообщений: 21
С нами: 9202810

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

Ну ты же хочешь наверно быть программистом или как минимум написать чтобы работало.
Вот на это нужен мозг. Пользуйся им и развивай.
 
Ответить с цитированием

  #6  
Старый 09.04.2010, 01:20
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами: 9227388

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

И опять этот вопрос...
http://forum.antichat.ru/showthread.php?t=151017
 
Ответить с цитированием

  #7  
Старый 09.04.2010, 15:38
Zuldrak
Познающий
Регистрация: 15.01.2010
Сообщений: 64
С нами: 8589419

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

Я переделал с делфи на с и че т не фига, возвращает ошибку 302
 
Ответить с цитированием

  #8  
Старый 09.04.2010, 21:19
[stranger]
Участник форума
Регистрация: 02.02.2010
Сообщений: 107
С нами: 8563393

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

RTFM по ответам сервера!
 
Ответить с цитированием

  #9  
Старый 10.04.2010, 15:27
RedFern.89
Постоянный
Регистрация: 20.01.2010
Сообщений: 338
С нами: 8582863

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

я когда то на delphi писал функцию))) может чем поможет)) тока надо исправить процедуру в idcookiamanager.pas

PHP код:
procedure TVKClass.Login;
var
 
PageText TStringList;
 
PostData TStringList;
 
TempStr  string;
 
I        Integer;
begin
    
Создаем объекты в памяти }
     
HTTP := TidHTTP.Create(nil);
     
Cookie := TidCookieManager.Create(HTTP);
     
PageText := TStringList.Create;
     
PostData := TStringList.Create;

    { 
Задаем нужные параметры }
     
HTTP.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.7) Gecko/20091221 MRA 5.6 (build 03278) Firefox/3.5.7 sputnik unknown';
     
HTTP.Request.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
     
HTTP.Request.AcceptLanguage := 'ru,en-us;q=0.7,en;q=0.3';
     
HTTP.Request.Connection := 'keep-alive';
     
HTTP.Request.Referer := 'http://vk.com/login.php';
     
HTTP.Request.ContentType := 'application/x-www-form-urlencoded; charset=UTF-8';
     
HTTP.Request.AcceptCharset := 'windows-1251,utf-8;q=0.7,*;q=0.7';
     
HTTP.CookieManager := Cookie;
     
HTTP.AllowCookies := True;
     
HTTP.HandleRedirects := True;

    { 
1. Запрос на страницу }
   If 
FServerType stVK_COM Then
     HTTP
.Post('http://vk.com/login.php'PostData)
   else 
HTTP.Post('http://vkontakte.ru/login.php'PostData);  

    { 
2. Формируем запрос }
     
PostData.Add('act=login');
     
PostData.Add('email=' femail);
     
PostData.Add('pass=' fpass);

     
PageText.Text := HTTP.Post('http://login.vk.com/'PostData);

     If 
Pos('error'PageText.Text) <> 0 Then
     begin
       TriggerLogin
('Bad login or password');
     
end else TriggerLogin('Succes login');


     For 
:= 0 To PageText.Count -do
     
begin
       
If Pos('id=' #39 + 's' + #39, PageText[I]) <> 0 Then
       
begin
          TempStr 
:= PageText[I];
          
TempStr := Copy(TempStrPos('value='TempStr) +7Length(TempStr));
          
Delete(TempStrPos(#39, TempStr), Length(TempStr));
       
end;
     
end;

    { 
3. Отсылаем ключ на сервер }
     
PostData.Clear;
     
PostData.Add('op=slogin');
     
PostData.Add('s=' TempStr);

    If 
FServerType stVK_COM Then
     PageText
.Text := HTTP.Post('http://vk.com/login.php'PostData)
    else 
PageText.Text := HTTP.Post('http://vkontakte.ru/login.php'PostData);

     
PageText.Free;
     
PostData.Free;
end
ps

это код из мокго компонента для вк. нужно исправить код немного...
 
Ответить с цитированием

  #10  
Старый 11.04.2010, 08:07
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами: 9227388

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

Цитата:
Сообщение от RedFern.89  
это код из мокго компонента для вк. нужно исправить код немного...
и обработку исключений добавить
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программы для сайта Вконтакте. Fruit Социальные сети 3 05.01.2010 22:59
[Delphi] Авторизация ВКонтакте Kandi С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 24 26.12.2009 01:31
Авторизация вконтакте Isis PHP 6 17.12.2009 20:18
Авторизация вконтакте 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.