Показать сообщение отдельно

  #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

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