| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > OAuth вконтакте, авторизация разработка приложения |
| Автор: magesi 31.5.2012, 05:33 | ||||||
| Привет всем! Хотел написать свой мессенджер для контакта, чтобы не заходить на сайт, да и не хочется использовать готовые IM , чисто для себя и для практики хотелось. Столкнулся с проблемой в сборке HTTP запроса в своем приложении, приведу код ( он тестовый , просто проверял ответ от сервера ):
Как видно, я отправляю такой HTTP-request:
Ответ , который мне приходит от сервера вконтакте такой:
Что-то не врублюсь. AppId перепроверил - верное, др. параметры тоже, сам HTTP-запрос , который я сформировал - тоже верный, если бы кривый был бы 401 ошибка не вернулась бы... Нужно получить HTML-ответ от контакта в виде: ![]() Там , я уже по какому-нибудь алгоритму подстроки в строке разберу, что если я получаю такой ответ, то ОК! и сформирую новый запрос уже с логином/паролем. Но, почему я получаю 401 ранее? Я перепроверил, все, как в инструкции: http://vk.com/developers.php?id=-1_37230422&s=1 HTTP-запрос тоже верный, ибо 401 означает Unauthorized, если бы кривый был бы запрос, то получил бы Bad Request 400. В чем проблема и как ее решить? |
| Автор: borisbn 31.5.2012, 08:30 |
| Не совсем в тему (возможно, даже совсем не в тему)... А почему ты выбрал Си++ для web-приложения ? Судя по скриншоту у тебя яблочная ОС, и предложить тебе оптимальный язык я не смогу (не знаю), однако могу сказать точно, что Си++ для этой цели - далеко не самое лучшее (возможно - худшее) средство. Посмотри на питон, например (насколько я знаю он есть для макОСи) |
| Автор: feodorv 31.5.2012, 12:01 |
Для POSt-запроса нужно указывать его длину. Это лишнее. Нужен как раз Content-length. |
| Автор: Amp 31.5.2012, 12:40 |
Этот скриншот из вконтактовой документации Добавлено через 11 минут и 33 секунды С C++ и голыми сокетами будет весело. После посылки запроса должно будет произойти перенапраление на redirect_uri - этот момент нужно будет отловить. Еще, вроде как, нужна поддержка cookies. Потом надо будет разобрать пришедший html - понадобится парсер, придется копаться в каких-нибудь полуживых проектах на sf или googlecode. На моей памяти одна опенсорсная софтина поступала с OAuth просто и незамыслвоато - открывала URL для запроса токена в небольшом окошке с webkit-ом и просила (!) пользователя скопировать то ли весь URL, то ли только токен в специально поле. |
| Автор: boostcoder 31.5.2012, 13:01 |
знакомый ник |
| Автор: borisbn 31.5.2012, 17:16 |
http://www.witch.westfalen.de/Wine-HOWTO/ch-winsock.html ? Хотя это - извращение. Если уж очень хочется Си++, то посмотри в сторону http://qt-project.org/doc/qt-4.8/qauthenticator.html http://qt-project.org/doc/qt-4.8/qnetworkrequest.html http://qt-project.org/doc/qt-4.8/qnetworkreply.html в частности и http://qt-project.org/doc/qt-4.8/modules.html в общем |
| Автор: magesi 31.5.2012, 17:19 | ||||
Я вообще-то с WinAPI без Qt/GTK и прочего собираюсь Добавлено @ 17:23
в руки алгоритмы поиска подстроки в строке, типа КМП и БХ и самим писать класс парсера ( уже делал так при работе с pop3/imap для старого проекта ) |