Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2011, 16:46   #91
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

А сомуму изучать, не? Снифер в руки вперёд!
Человек_Борща вне форума Ответить с цитированием
Старый 01.08.2011, 01:09   #92
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Пользуюсь таким методом)
Код:
try
  IdHTTP1.CookieManager.CookieCollection.Clear;
  IdHTTP1.AllowCookies := true;
  IdHTTP1.HandleRedirects := true;
  r := tstringstream.create;
  IdHTTP1.Get('http://vkontakte.ru/login.php?email=' + login1.Text +'&pass=' + password1.Text, r);
  if pos('logout', r.DataString) <> 0 then
    showmessage('Проведена авторизация Вконтакте')
  else
    showmessage('Авторизация Вконтакте НЕ ПРОЙДЕНА');
finally
  r.Free;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 13.08.2011, 21:47   #93
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Очень извиняюсь за некропот. Но всё же...

При попытке залогиниться компилятор брякается с ошибкой
Цитата:
HTTP/1.1 302 Found
Delphi 2007, INDY 10.0.52

Как это лечить?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 13.08.2011, 22:26   #94
Voody
Форумчанин
 
Регистрация: 22.06.2009
Сообщений: 310
По умолчанию

idHttp1.HandleRedirects:=true;
Voody вне форума Ответить с цитированием
Старый 16.02.2012, 17:55   #95
Freezee
 
Регистрация: 16.02.2012
Сообщений: 4
По умолчанию

У меня вообще авторизация не проходит никак. Выдает ошибку на PageProfile:=IdHTTP1.Post('http://login.vk.com/?act=login', data);
Как быть?
"Ничего не бывает 00"
Freezee вне форума Ответить с цитированием
Старый 16.02.2012, 18:05   #96
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от Freezee Посмотреть сообщение
У меня вообще авторизация не проходит никак. Выдает ошибку на PageProfile:=IdHTTP1.Post('http://login.vk.com/?act=login', data);
Как быть?
Какая ошибка?
Delphi_ProGer вне форума Ответить с цитированием
Старый 16.02.2012, 18:25   #97
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Цитата:
Всем привет! В данной статье я хочу показать вам как работать с сайтом
"Вконтакте" а именно авторизация так как в интернете много примеров авторизации,
но большенство не работает.И так начнем!!!
Подключаем в uses cледущие модули: idantifreeze,IdHTTP,idcookiemanager ;
описываю каждый модуль:
idantifreeze-нужен для того что бы программа не висла прии работе P.S его подключение не обязательно!
IdHTTP-компонент для посылки post и get запросов да и вообще для работы с сетью.
idcookiemanager-данный компонент хранит так называемые "куки".
далее дописываем после public вот function authvk(l,p:string):boolean; b и нажимаем ctrl+shift+c делфи сгенерирует
эту функцию.Далее пишем вот этот код в теле функции :
var
s, c, remixchk, remixsid: string;
i: Integer;
cookie:Tidcookiemanager;
freeze:TIdAntiFreeze;
http: TIdHTTP;
begin
/////создаем и настраиваим компоненты
cookie:=Tidcookiemanager.Create(sel f);
http := TIdHTTP.Create(self);
http.CookieManager:=cookie;
freeze:=TIdAntiFreeze.Create(self);
http.AllowCookies := False;
http.HandleRedirects := False;
/////создаем и настраиваим компоненты
try
////авторизовываемся но нас должно редеректить так как http.HandleRedirects := False;
s:=HTTP.get('http://vk.com/login.php?email='+l+'&pass='+p);
except
if (http.ResponseCode=302) then begin ////проверяем если редирект тогда
////парсим кукусы
c := http.Response.RawHeaders.Text;
i := Pos('remixchk', c) + 9;
remixchk := Copy(c, i, length(c));
remixchk := Copy(remixchk, 1, pos(';',remixchk)-1);
i := Pos('remixsid', c) + 9;
remixsid := Copy(c, i, length(c));
remixsid := Copy(remixsid, 1, pos(';',remixsid)-1);
////парсим кукусы
////добаляем их
http.Request.CustomHeaders.Text := 'Cookie: remixchk='+remixchk +'; remixsid='+remixsid;
http.CookieManager.AddCookie('remix chk='+remixchk+'; remixsid='+remixsid,'http://vk.com');
////добаляем их
s:=http.get('http://vk.com'+http.Response.Location);////переходим на страницу
end;
end;
///////проверякм авторизовались ли мы
if (pos('Добро пожаловать',s)>0) or (pos('Вход',s)>0) then result:=false else begin result:=true;
s:=copy(s,pos('<title>',s)+length(' <title>'),length(s));
s:=copy(s,1,pos('</title>',s)-1);
showmessage(s);//////показываем сообщение с вашим именем
end;
//////уничтожаем компоненты
freeandnil(http);
freeandnil(cookie);
freeandnil(freeze);
end;

далее кидаем на форму кнопку кликаем 2 раза и пишем такой код:
if authvk('ваш логин','ваш пароль') then showmessage('Авторизовались!!') else showmessage('Не смогли вы авторизоваться!!!');
THE END.HAPPY END =D
моя статья которая ДОЛЖНА БЫЛА быть выставлена на pblog.ru но так и осталась на ДОЛЖНА БЫЛА
Кольша вне форума Ответить с цитированием
Старый 17.02.2012, 21:50   #98
Ruslasy
Пользователь
 
Регистрация: 17.02.2012
Сообщений: 47
По умолчанию

Код:
var  
login:tstringlist; //Переменная-список 
http,sid:string; //Переменные-строки 

begin 
  login:=Tstringlist.Create; 
  login.Add('email='+edit1.Text); //Логин 
  login.Add('pass='+edit2.Text); //Пароль 
  try 
  http:=IdHTTP1.post('http://vk.com/login.php?',login); //Отправляем запрос 
except 
  http:=idhttp1.response.RawHeaders.GetText; 
  if pos('302', http) <>0 then raise; //Обрабатываем ошибку 
end; 
  if Pos('remixsid',http)= 0 then ShowMessage('Что то не правильно ввели'); //Ищем в ответе sid 
if Pos('remixsid',http)<> 0 then begin //Если sid есть, то вынимаем его 
Delete(http,1,pos('d=',http)+length('d=')-1); //Удаляем до "d="
sid:=copy(http,1,pos(';',http)-1); //Копируем до ";" 
ShowMessage('Авторизировались. Ключ: '+sid); //Всё. Sid вынут 
end; 
end;
Вот кода авторизации. Если надо посещать что то то просто прикрути сид в куки и будет тебе счастье.
Ruslasy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
Анимированный аватар "В контакте" Web-Gangsta Свободное общение 14 13.01.2010 23:41
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body tabikA HTML и CSS 5 24.02.2009 21:50