Qt - 如何使用QNetworkAccessmanager获取responseText

时间:2011-11-02 13:35:22

标签: qt qnetworkaccessmanager

这是我的代码:

Widget::Widget()
{
    manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyFinished(QNetworkReply*)));

    manager->get(QNetworkRequest(QUrl("http://qt.nokia.com")));
}
void Widget::replyFinished(QNetworkReply* reply)
{
    //some other code here
}

我希望回复会有一些方法,比如getrespnsetext(),但它不是......
有人可以给我看一个例子,我需要的所有东西都是打印出来的响应文本(就像在Javascript Ajax中一样) 谢谢你的帮助!

2 个答案:

答案 0 :(得分:8)

您只需要在reply->readAll()函数中使用replyFinished(...)来读取所有返回的文本。它返回QByteArray,因此你可以从那里做你想要的观察。

答案 1 :(得分:3)

查看QNetworkReply here的文档,特别是在完成的信号中,它提到您可以使用readAll()获取所有数据的QByteArray。假设您知道这样的转换是否有效,QString确实有一个构造函数,它将QByteArray作为参数,如文档here所述。