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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2012, 10:35   #1
Pasha_Sh
Форумчанин
 
Аватар для Pasha_Sh
 
Регистрация: 16.05.2010
Сообщений: 137
По умолчанию Вконтакте, кодировка

Пишу программу на основе vk api. Пытаюсь отправить сообщение:
Код:
sig:=id+'api_id=3010372message='+URLEncode(memo1.lines.text)+'method=messages.senduid='+uid+'v=3.0'+secret;
sig:=md5(sig);
idhttp1.Get('http://api.vkontakte.ru/api.php?api_id=3010372&method=messages.send&uid='+uid+'&message='+URLEncode(memo1.Lines.Text)+'&sid='+sid+'&sig='+sig+'&v=3.0');
Но все равно контакт выдает ошибку, что неправильный sig.
Как исправить ошибку?

Функция URLENCode:
Код:
function TForm2.UrlEncode(const s: AnsiString): string;
var
  I: integer;
begin
  Result := '';
  for i := 1 to Length(S) do
    case S[i] of
      '%', ' ', '&', '=', '@', '.', #13, #10, #128..#255: Result := Result + '%'
        + IntToHex(Ord(S[i]), 2);
    else
      Result := Result + S[i];
    end;
end;
osu

Последний раз редактировалось Pasha_Sh; 03.07.2012 в 10:39.
Pasha_Sh вне форума Ответить с цитированием
Ответ


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