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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2010, 10:15   #1
Dionix
Пользователь
 
Регистрация: 04.10.2009
Сообщений: 38
По умолчанию Общие принципы работы с сайтом vkontakte.ru

В этой теме я буду выкладывать различную информацию по работе с сайтом ВКОНТАКТЕ.РУ. Потому что многие задают одни и теже вопросы по 300 раз. Давайте всё писать сюда, а не создавать миллиард тем с одним и тем же вопросом.

И так начнем. Я выкладываю функции которые мне известны И У КОТОРЫХ 100% РАБОТОСПОСОБНОСТЬ!

АВТОРИЗАЦИЯ ВКОНТАКТЕ:
Код:
function vk_login(Login, Pass : string; IdHTTP : TIdHTTP): Boolean;
var
  sl : TStringList;
  text : string;
begin
  sl := TStringList.Create;
  sl.Add('email=' + Login + '&pass=' + Pass + '&expire=&vk=');
  text := IdHTTP.Post('http://login.vk.com/?act=login',sl);
  if Pos('Aoia',text)<>0 then begin
    MessageBox(Application.Handle,'Iaaa?iua aaiiua: Eiaei , Ia?ieu','Ioeaea',0);
    Result := False;
  end else begin
    text := Copy(text,Pos('name=' + #39 + 's' + #39,text)+16,PosEx(#39,text,Pos('name=' + #39 + 's' + #39,text)+17)-Pos('name=' + #39 + 's' + #39,text)-16);
    IdHTTP.Request.CustomHeaders.Add('Cookie:remixchk=5; remixsid=' + text);
    Result := True;
  end;
  sl.Free;
end;
ВЫЗОВ ФУНКЦИИ:
Код:
vk_login(Edit1.Text,Edit2.Text,IdHTTP1);
ПОЛУЧЕНИЕ СООБЩЕНИЙ ВКОНТАКТЕ:

Код:
function VK_ParsEmail(s:string; IdHTTP1:TIdHTTP): TStringList;
var
  i : Integer;
  mess_full, mess_text,
  mess_id, mess_new,
  mess_aut, mess_aut_id,
  mess_date, mess_title : string;
  sl : TStringList;
begin
  Result := TStringList.Create;
  i := 1;
  s := Copy(s,PosEx('</tr>',s,Pos('<div id="messages_wrap">',s))+6,PosEx('</table>',s,Pos('<div id="messages_wrap">',s))-PosEx('</tr>',s,Pos('<div id="messages_wrap">',s))-6);
  while PosEx('<tr ',s,i)<>0 do
  begin
    mess_full := Copy(s,PosEx('<tr ',s,i),PosEx('</tr>',s,PosEx('<tr ',s,i))-PosEx('<tr ',s,i));

    // Iieo?aiea id niiauaiey
    mess_id := Copy(mess_full,Pos('id="',mess_full)+8,PosEx('"',mess_full,Pos('id="',mess_full)+9)-Pos('id="',mess_full)-8);

    // iiaia ee yoi niiauaiea
    if Pos('class='+#39+'newRow'+#39,mess_full)<>0 then mess_new := '1' else mess_new := '0';

    if mess_new = '1' then
    begin
      // Io eiai niiauaiea
      mess_aut := Copy(mess_full,PosEx('">',mess_full,Pos('<div class="name">',mess_full)+19)+2,PosEx('</a>',mess_full,PosEx('">',mess_full,Pos('<div class="name">',mess_full)+19)+3)-PosEx('">',mess_full,Pos('<div class="name">',mess_full)+19)-2);

      // EA iieuciaaoaey, eioi?ue i?eneae niiauaiea
      mess_aut_id := Copy(mess_full,Pos('href="',mess_full)+7,PosEx('">',mess_full,Pos('href="',mess_full)+8)-Pos('href="',mess_full)-7);

      // Aaoa, eiaaa i?eoei niiauaiea
      mess_date := Copy(mess_full,Pos('class="date">',mess_full)+13,PosEx('</div',mess_full,Pos('class="date">',mess_full)+14)-Pos('class="date">',mess_full)-13);

      //Oaia niiauaiey
      mess_title := Copy(mess_full,PosEx('<span>',mess_full,Pos('new messageSubject',mess_full))+6,PosEx('</span>',mess_full,Pos('new messageSubject',mess_full))-PosEx('<span>',mess_full,Pos('new messageSubject',mess_full))-6);

      // Oaeno niiauaiey
      mess_text := IdHTTP1.Get('http://vkontakte.ru/mail.php?act=show&id='+ mess_id);
      mess_text := Copy(mess_text,PosEx(';">',mess_text,Pos('class="messageText"',mess_text))+3,PosEx('</div>',mess_text,Pos('class="messageText"',mess_text))-PosEx(';">',mess_text,Pos('class="messageText"',mess_text))-3);
    end;

    Result.Add(mess_aut+' '+mess_aut_id+' '+mess_date+' '+mess_text);
    i := PosEx('<tr ',s,i)+2;
    Sleep(300);
  end;
end;
ВЫЗОВ ФУНКЦИИ:
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Lines := VK_ParsEmail(IdHTTP1.Get('http://vkontakte.ru/mail.php'),IdHTTP1);
end;
Dionix вне форума Ответить с цитированием
Старый 12.07.2010, 17:59   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

тогда и примеры с этой темы ...или вашу туда, там больше
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 01.08.2010, 12:57   #3
reflexive666
Новичок
Джуниор
 
Аватар для reflexive666
 
Регистрация: 31.07.2010
Сообщений: 2
По умолчанию

хотел спросить есть у кого исходник програмки, чтоб выводила месагу и звуковой файл о новом сообщении вконтакте.ру или одноклассники.ру
reflexive666 вне форума Ответить с цитированием
Старый 01.08.2010, 14:14   #4
theYozh
Пользователь
 
Аватар для theYozh
 
Регистрация: 28.01.2009
Сообщений: 75
По умолчанию

а использовать вконтакте api религия не позволяет??? зачем городить столько ламерского леса, когда все просто. http://vkontakte.ru/developers.php?id=21239305&s=1
theYozh вне форума Ответить с цитированием
Старый 01.08.2010, 16:07   #5
reflexive666
Новичок
Джуниор
 
Аватар для reflexive666
 
Регистрация: 31.07.2010
Сообщений: 2
По умолчанию

не че там не понятно, нужен конкретный исходник, чтоб понять как это работает. объясните, не понимать. на сайте видел много кодов, но не понять что кидать на форму, прошу разъяснить. или к примеру создать форму, забил сайт и прога отслеживает есть сообщения или нет, реально это??? Пользуюсь программой Multimedia Builder 4.9.8.13 и Autoit 3.3, в дельфи пока ноль не хватка примеров.

Последний раз редактировалось reflexive666; 01.08.2010 в 16:10.
reflexive666 вне форума Ответить с цитированием
Старый 01.08.2010, 23:44   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

примеров на форуме уже масса.
а насчет сообщений, то запрашиваем страницу и далее парсим, примеры парсинга тоже в массе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Общие принципы авторизации на удаленных сайтах. Квэнди Работа с сетью в Delphi 5 06.12.2009 09:46
Логические и Арифметические принципы работы ЭВМ ardor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 18.11.2009 23:37
Принципы работы icq Mantell Общие вопросы .NET 0 30.06.2009 10:42
обновление в блоге - Общие принципы авторизации на удаленных сайтах Pblog Обсуждение статей 0 24.04.2009 20:50
Программа работы с сайтом (автологин и т.д.) eldar Работа с сетью в Delphi 10 06.08.2008 11:19