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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2010, 18:26   #1
SAMY93
Пользователь
 
Регистрация: 25.06.2010
Сообщений: 10
По умолчанию парсинг друзей вконтакте

Здравствуйте. есть одна проблема: после успешной авторизации вконтакте делаю гет запрос
Код:
 memo1.text:=idhttp1.post('http://vkontakte.ru/friends_ajax.php',data);
, но в мемо выводятся данные, как будто я пытаюсь зайти с не авторизованной страницы.Вот код целиком

Код:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,
  StdCtrls;

type
  TForm3 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    IdHTTP1: TIdHTTP;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var data:tstringlist;
     PageProfile:string;
     error:boolean;
begin
 IdHTTP1.AllowCookies:=true;
 IdHTTP1.HandleRedirects:=true;
 data:=tstringlist.create;
 data.Add('email=******@yandex.ru'); // логин для авторизации
 data.Add('pass=******');  // пароль для авторизации
 data.Add('expire=');
 data.Add('vk=');
 error:=false;
 try
  PageProfile:=IdHTTP1.Post('http://login.vk.com/?act=login', data);

 except
  error:=true;
 end;

 if not(error) then
  begin
       data.Clear;
   data.Add('s='+Copy(PageProfile, Pos('value', PageProfile)+7, 56));
   data.Add('op=slogin');
   data.Add('redirect=1');
   data.Add('expire=0');
   data.Add('to=');
   IdHTTP1.HandleRedirects:=true;

   try

    PageProfile:=IdHTTP1.Post('http://vkontakte.ru/login.php', data);
     memo1.text:=idhttp1.get('http://vkontakte.ru/friends_ajax.php');

   except
   end;
   begin
   Memo1.Lines.Add('Авторизация удалась');

   end;
  end
 else
  Memo1.Lines.Add('Авторизация не удалась');

 Data.Free;
end;


end.
SAMY93 вне форума Ответить с цитированием
Старый 21.11.2010, 23:51   #2
N0iD
Пользователь
 
Аватар для N0iD
 
Регистрация: 05.05.2010
Сообщений: 50
По умолчанию

на до бы кукисы вкулючить
N0iD вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг id Вконтакте Lemo Помощь студентам 1 16.07.2010 15:25