Qt - 如何使用 QNetworkAccessmanager 获取 responseText
Posted
技术标签:
【中文标题】Qt - 如何使用 QNetworkAccessmanager 获取 responseText【英文标题】:Qt - How to get responseText with QNetworkAccessmanager 【发布时间】:2011-11-02 13:35:22 【问题描述】:这是我的代码:
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
我希望 reply 会有一些类似 getrespnsetext() 的方法,但它不是... 有人可以给我看一个例子吗,我需要的只是打印出响应文本(有没有像 javascript Ajax 中的任何方式) 感谢您的帮助!
【问题讨论】:
可能重复:***.com/q/7177433/894321 【参考方案1】:您只需要在replyFinished(...)
函数内使用reply->readAll()
即可读取所有返回的文本。它返回一个QByteArray
,所以你可以从那里做任何你想做的事情。
【讨论】:
【参考方案2】:查看QNetworkReply
here 的文档,特别是在完成的信号中,它提到您可以使用readAll()
获取所有数据的QByteArray
。假设您知道这样的转换是否有效,QString
确实有一个以QByteArray
作为参数的构造函数,如here 所记录的那样。
【讨论】:
以上是关于Qt - 如何使用 QNetworkAccessmanager 获取 responseText的主要内容,如果未能解决你的问题,请参考以下文章