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

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

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

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

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

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

Сделал авторизацию в контакте с первого раза.
А вот отправку сообщений не могу(((
Вот код.
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  sms: TStringList;
  s,secure,chas,photo:string;
  s_incom:string;
begin
  s:=s_incom;
  secure:=copy(s,pos('secure',s),length(s)-pos('secure',s));
  secure:=copy(secure,pos('value',secure),length(secure)-pos('value',secure));
  secure:=copy(secure,pos('"',secure)+1,pos('/>',secure)-10);

  chas:=copy(s,pos('chas',s),length(s)-pos('chas',s));
  chas:=copy(chas,pos('value',chas),length(chas)-pos('value',chas));
  chas:=copy(chas,pos('"',chas)+1,pos('/>',chas)-10);

  photo:=copy(s,pos('"photo"',s),length(s)-pos('"photo"',s));
  photo:=copy(photo,pos('value',photo),length(photo)-pos('"photo"',photo));
  photo:=copy(photo,pos('"',photo)+1,pos('/>',photo)-10);

  sms:= TStringList.Create;
  sms.Add('secure='+secure);
  sms.Add('chas='+chas);
  sms.Add('photo='+photo);
  sms.Add('to_id=25613260'); //For_who здесь id того, кому шлется сообщения
  sms.Add('to_reply=0');
  sms.Add('act=sent');
  sms.Add('title=www');
  sms.Add('message=Hello');

  idHttp1.Post('http://vkontakte.ru/mail.php', sms);

end;
Вот кому надо рабочий код авторизации.

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  data: TStringList;
begin
  data:= TStringList.Create;
  data.Add('op=a_login_attempt');
  data.Add('expire=');
  data.Add('vk=');
  data.Add('email=');
  data.Add('pass=');

  idHttp1.Post('http://login.vk.com/?act=login', data);
end;
ShowMessage('Добро пожаловать!');
Alex2009 вне форума Ответить с цитированием
Старый 24.07.2010, 02:24   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Вот кому надо рабочий код авторизации.
С авторизацией проблемы...
з.ы. кстати, недавно обсуждалось, можете там глянуть...
Насчет отправки, там вы вроде даже не все поля нужные заполняете для отправки запроса...
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 24.07.2010 в 02:28.
spamer вне форума Ответить с цитированием
Старый 24.07.2010, 09:38   #3
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Думаю отправлять сообщения лучше через pda.vkontakte.ru =)
Код:
Uses StrUtils;

...

function InputV(s, name : string ): string;
var
  i:integer;
begin
  i := PosEx('"',s,PosEx('value',s,Pos(name,s)));
  result := Copy(s,i+1,PosEx('"',s,i+1)-i-1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 sl:tstringlist;
 id, s : string;
Begin
 id := '7319183';
 s := idhttp1.get('http://pda.vkontakte.ru/?act=write&to='+id);
 sl:=tstringlist.create;
 sl.add('to_id='+ InputV(s,'to_id'));
 sl.add('to_reply=0');
 sl.add('chas='+ InputV(s,'chas'));
 sl.add('title=346456');
 sl.add('message=23455763');
 idhttp1.post('http://pda.vkontakte.ru/mailsent?pda=1',sl);
 sl.free;
end;

Последний раз редактировалось kangreon; 24.07.2010 в 09:55.
kangreon вне форума Ответить с цитированием
Старый 24.07.2010, 15:31   #4
Alex2009
Proger Man
Форумчанин
 
Аватар для Alex2009
 
Регистрация: 07.03.2009
Сообщений: 584
По умолчанию

Вместо русского текста у меня прислало ''?4??4??4??4??4??1? ?4??4??4??1? ?4??4??1?''

Разобрался с кодировкой.Теперь такой вопрос как вывести список друзей в listbox и при нажатии на кого небуть его id вписуется в Edit
ShowMessage('Добро пожаловать!');

Последний раз редактировалось artemavd; 24.07.2010 в 16:38.
Alex2009 вне форума Ответить с цитированием
Старый 24.07.2010, 16:39   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Может отсылать на сервер запрос на id выбранного из списка пользователя? Происходил бы поиск пользователя по его анкете.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 25.07.2010, 00:01   #6
kangreon
Форумчанин
 
Аватар для kangreon
 
Регистрация: 03.04.2009
Сообщений: 305
По умолчанию

Код:
uses StrUtils;

var
  Form1: TForm1;
  sl : TStringList;


// Получение спмска друзей и вывод их в ListBox
procedure TForm1.Button1Click(Sender: TObject);
var
  s, s1, names, id:string;
  i, i1:Integer;
begin
  sl := TStringList.Create;
  s := IdHTTP1.Get('http://vkontakte.ru/im.php?act=a_box&popup=1');
  i := 1;
  i1 := PosEx('{',s,Pos('friends:',s));
  s := Copy(s,i1+1,PosEx('}',s,i1+1)-i1-1);
  while PosEx('[',s,i)<>0 do
  begin
    i1 := PosEx('[',s,i);
    s1 := Copy(s,i1+1,PosEx(']',s,i1+1)-i1-1);
    i1 := Pos('"',s1);
    names := Copy(s1,i1+1,PosEx('"',s1,i1+1)-i1-1);
    i1 := Pos('/u',s1);
    id := Copy(s1,i1+2,PosEx('/',s1,i1+2)-i1-2);
    Names := StringReplace(names,'&nbsp;',' ',[rfReplaceAll]);
    sl.Add(id);
    ListBox1.Items.Add(names);
    i := PosEx('[',s,i)+1;
  end;
end;

// Обработка нажатия на ListBox
// Вывод id пользователя в Edit1
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  if ListBox1.ItemIndex > -1 then
  Edit1.Text := sl.Strings[ListBox1.ItemIndex];
end;
kangreon вне форума Ответить с цитированием
Старый 25.07.2010, 19:57   #7
xakkkkker
Форумчанин
 
Аватар для xakkkkker
 
Регистрация: 15.12.2007
Сообщений: 226
По умолчанию

Там же появился API vkonatke. ОН че не подходит что ли?
xakkkkker вне форума Ответить с цитированием
Старый 04.08.2010, 18:00   #8
sxcine
Пользователь
 
Аватар для sxcine
 
Регистрация: 26.05.2010
Сообщений: 78
По умолчанию

Цитата:
Сообщение от xakkkkker Посмотреть сообщение
Там же появился API vkonatke.
вконатке ? =D
sxcine вне форума Ответить с цитированием
Старый 05.08.2010, 18:18   #9
theYozh
Пользователь
 
Аватар для theYozh
 
Регистрация: 28.01.2009
Сообщений: 75
По умолчанию

http://vkontakte.ru/developers.php
theYozh вне форума Ответить с цитированием
Старый 02.02.2012, 22:45   #10
zarginava
Новичок
Джуниор
 
Регистрация: 02.02.2012
Сообщений: 9
По умолчанию

помогите решить проблему
пишит ошибка в коде
Код:
 sl.add('to_id='+ InputV(s,'to_id'));
полный код
Код:
id := '7319183';
 s := idhttp1.get('http://pda.vkontakte.ru/?act=write&to='+id);
 sl:=tstringlist.create;
 sl.add('to_id='+ InputV(s,'to_id'));
 sl.add('to_reply=0');
 sl.add('chas='+ InputV(s,'chas'));
 sl.add('title=346456');
 sl.add('message=23455763');
 idhttp1.post('http://pda.vkontakte.ru/mailsent?pda=1',sl);
 sl.free;
zarginava вне форума Ответить с цитированием
Ответ


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