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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2011, 23:01   #1
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию Авторизация на сайте

Всем привет, пишу для себя простенький Агент для вконтакте, без каких либо крутых возможностей. Вот при написании кода авторизации при нажатии на конпку войти мне выделяет этот код синим цветом, и больше не чего.
PageProfile:=idHTTP1.Post('http://login.vk.com/?act=login',bd);

Вот весь код.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  PageProfile:String;
  bd:tstringlist;
  error:boolean;
begin
  IdHTTP1.AllowCookies:=true;
  IdHTTP1.HandleRedirects:=false;
  bd:=tstringlist.create;
  bd.Add('email=логин');
  bd.Add('pass=пароль');
  bd.Add('expire=');
  bd.Add('vk=');
  error:=true;
try
  PageProfile:=idHTTP1.Post('http://login.vk.com/?act=login',bd);
except
  error:=true;
end;
if not(error) then
begin
  bd.Clear;
  bd.Add('s='+copy(PageProfile,Pos('value',PageProfile)+7,56));
  bd.Add('op=slogin');
  bd.Add('redirect=1');
  bd.Add('expire=0');
  bd.Add('to=');
  idHTTP1.HandleRedirects:=true;
try
  PageProfile:=idHTTP1.Post('http://vkontekte.ru/login.php',bd);
except
end;
  Label3.Caption:=('Удачно!');
end
else
  Label3.Caption:=('Неудача!');
  bd.Free; 
end;
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 29.12.2011, 23:15   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

предположительно выскакивает исключение.
вообще там https давно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.12.2011, 23:42   #3
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Не помогло даже если сделать так
Код:
PageProfile:=idHTTP1.Post('https://login.vk.com/?act=login',bd);
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 30.12.2011, 00:03   #4
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Вот для наглядности выкладываю исходник, может кто и поймет в чем дело.
Вложения
Тип файла: rar Агент вконтакте.rar (3.5 Кб, 13 просмотров)
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 30.12.2011, 02:00   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

у ВКонтакте есть как минимум не хилый API.
Человек_Борща вне форума Ответить с цитированием
Старый 30.12.2011, 05:13   #6
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
у ВКонтакте есть как минимум не хилый API.
ну и как мне это поможет с моей проблеммой?
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 30.12.2011, 08:52   #7
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

попробуй
Код:
result=get_idHTTP1.get('http://login.vk.com/?act=login&email=' + mail + '&pass=' + pass;
редиректы надо пройти все
выдрал из ПХПшного кода, там вообщет запрос заголовков, но после редиректов получаются нужные куки
вообще есть делфевый код авторизации, но он для синапса
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 30.12.2011, 16:42   #8
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Столкнулся с такой проблеммой, нужно вывести на Label4 имя и фаммилию авторизированного пользователя, если сделать так
Код:
PageFrome:=idhttp1.Get('http://vkontakte.ru/');
  Label4.Caption:=(copy(PageFrome,pos('<title>',PageFrome)+7,pos('</title>',PageFrome)-pos('<title>',PageFrome)-7));
То в Label пишет "Добро пожаловать". Значит нужно сначала узнать id пользователя. Помогите разобратся.
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 30.12.2011, 19:12   #9
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Ну вот зачем себе усложнять жизнь? Используйте ВК АРІ. Там всё просто. Если что - помогу.

P.S. не вижу смысла парсить страницу, т.к. контакт всегда что-нибудь меняет!
P.P.S. http://vkontakte.ru/developers.php

Последний раз редактировалось Delphi_ProGer; 30.12.2011 в 19:15.
Delphi_ProGer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация на сайте и.... quarty Общие вопросы Delphi 0 30.10.2010 03:22
Авторизация на сайте zumm Общие вопросы Delphi 1 23.05.2010 20:00
Авторизация на сайте Abadd0N Работа с сетью в Delphi 14 10.06.2009 12:31
Авторизация на сайте MultiBit Работа с сетью в Delphi 6 13.03.2009 18:45
Авторизация на сайте vladimirzzz Работа с сетью в Delphi 7 28.09.2008 21:59