Обновить

Комментарии 15

Класс Qhttp отсутствует в Qt 4.7.x, так что на всежей версии qt не соберется :( Надо было ам сразу использовать QNetworkAccessmanager.
И ещё в репозиторий авшекй ссылке не пустили («Error
You do not have access to this repository. „), так что затестить не удалось :(
Забыл убрать «Private repository», теперь должно работать.
Спасибо!
QHttp не отсутствует в 4.7, он просто obsolete: doc.qt.nokia.com/4.7/qhttp.html
А еще было бы красивее использовать addQueryItem
Я в C++ полный ноль, но некоторые части кода из статьи мне кажутся странными…
Например QRegExp regexp("\"mid\":([^,]+),\"secret\":\"([^,]+)\",\"sid\":\"([^,]+)\""); — это-ж вы JSON парсите регуляркой… Наверняка же есть стандартные JSON парсеры…

m_pTcpSocket->write(QString("GET " + m_pSrcUrl->path() + "\r\n").toAscii());
Тут зачем-то для HTTP запроса используете голые сокеты, хотя выше использовали специальную HTTP библиотеку…

А по поводу Vkontakte API — для меня было очень печальным сюрпризом то, что API Session ID привязан к IP адресу. Так что при смене IP приходится заново авторизовываться… Причем текст ошибки, которую при этом выводит вконтакте — «Unknown method passed». И кто такое придумал…
Проще всего взять QtScript и через него eval'нуть ответ и потом его разобрать, ну или взять на выбор любую разбиралку json'а
НЛО прилетело и опубликовало эту надпись здесь
Еще неплох k8json
Парсить, всего то, одну малнькую строку- подключать библиотеки не хотел. Хотя это, было бы, правильнее.
С сокетами, действительно, что то я загнул. Можно, было бы, и QHttp, а еще лучше- QNetworkAccessmanager (как писали выше).

Вечером попробую исправить :)
Исправил и залил. Сокеты больше не используются как и устаревший QHttp.
code.google.com/p/vimka/

Кому интересно, там много чего можно найти по работе с ВКонтакте АПИ + Qt… =)))
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации