Название: QNetworkAccessManager не могу получить данные от сервера. Отправлено: Dimajp от Февраль 11, 2010, 19:22 Создаю обьект запроса и инициализирую его
QNetworkRequest request; request.setUrl(QUrl("http://iphonett.staging.acceptic.com/api/groups?offset=0&limit=1")); далее этот запрос даю менеджеру работы с сетью и соединяю ссигнал со слотом manager = new QNetworkAccessManager(this); connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); отправляю запрос: manager->get(request); Когда приходит сигнал с ответом то в слоте пытаюсь вынуть тело ответа(в моем случае это обьетк типа JSON), и хотябы вывести в текстовое поле(m_ptxtInfo) чтобы увидеть что я там получил.Ответ в обьекте reply. m_ptxtInfo->append(reply->readAll().constData()); В результате получаю надпись Moved Permanently The document has moved here. При этом когда смотрю хедеры то они выводятся без проблем!!! Смотрю их вот так QList<QByteArray> result; result=reply->rawHeaderList(); foreach (QByteArray byteArray, result) { m_ptxtInfo->append(byteArray.constData()); m_ptxtInfo->append(reply->rawHeader(byteArray).constData()); получаю следующий текст Date Thu, 11 Feb 2010 16:17:44 GMT Server Apache/2.2.14 (FreeBSD) mod_ssl/2.2.14 OpenSSL/0.9.7e-p1 DAV/2 PHP/5.2.11 with Suhosin-Patch mod_python/3.3.1 Python/2.5.4 SVN/1.6.6 Location http://iphonett.staging.acceptic.com/api/groups/?offset=0&limit=1 Content-Length 277 Keep-Alive timeout=5, max=100 Connection Keep-Alive Content-Type text/html; charset=iso-8859-1 Что я не так делаю чтобы вынуть данные из запроса? Когда сам запрос выполянить в браузере то он выдает нужный мне обьект!!! Название: Re: QNetworkAccessManager не могу получить данные от сервера. Отправлено: Dimajp от Февраль 11, 2010, 20:21 Все норм!!!
Нашел ошибку!! Запрос был неправильно написан Я писал http://iphonett.staging.acceptic.com/api/groups?offset=0&limit=1 И при это браузер всерано его распознавал!!! а надо было http://iphonett.staging.acceptic.com/api/groups/?offset=0&limit=1 после groups должна были быть /. Название: Re: QNetworkAccessManager не могу получить данные от сервера. Отправлено: SABROG от Февраль 12, 2010, 23:30 Как-то это всё странно. Это такая заморочка сервера или QNetworkAccessManager'a? При использовании QNAM я подобного не замечал, а запросы с параметрами всегда лепил через QUrl::setQueryItems().
|