понедельник, 24 октября 2011 г.

[Builder C++] Авторизация Вконтакте


Ну видел много тем   "Проблемы с авторизацией ВК",  "Помогите авторизоваться в ВК" и тому подобные. Вот и решил привести пример авторизации ВК на Builder C++.
 Как говорится "Без труда не вытащишь рыбки из пруда" , ну давайте будем приступать к труду :)

Для начала создадим саму форму, после этого бросим на нее 2 Edit ( первый  для ввода логина ,второй для ввода пароля ), Button для отправки запроса по щелчку  и еще конечно IdHTTP для создания запроса.
Мы будет отправлять серверу пост запрос .
Для кнопки надо написать следующий код:


void __fastcall TForm1::Button1Click(TObject *Sender) {
TStringList *S = new TStringList;
// формируем Пост  запрос для авторизации
S->Add("success_url=");
S->Add("fail_url=");
S->Add("email=" + login->Text);
S->Add("pass=" + pass->Text);
AnsiString S1, res;
S1 = IdHTTP1->Post("http://vkontakte.ru/login.php", S); // отправка запроса
// и прийом ответа
int r = S1.Pos("Указан неверный логин или пароль."); // парсим данные
// надо узнать авторизирувались или нет
res = S1.SubString(r, 33);
if (res != "Указан неверный логин или пароль.") {
ShowMessage("Ура мы авторизирувались!");
}
else {
ShowMessage(
"Такой почтовый адрес не зарегистрирован, либо пароль неверный.");
}
}
Вот и ничего сложно нет , дальше если хотите что то доделать  то это уже ваша фантазия...
Примерно так должна выглядеть программка.

Ну вроде все ничего сложного и лишнего !!

1 комментарий:

  1. Выдает ошибку
    [C++ Error] Unit1.cpp(38): E2285 Could not find a match for 'TIdHTTP::Post(char *,TStringList *)'

    ОтветитьУдалить