【发布时间】:2014-08-23 13:18:25
【问题描述】:
我有一个简单的 Web 服务,其 URL 如下:
http://localhost:8080/WebSvc1/webresources/generic/data?ctype=Ping
这会返回一个简单的 XML 数据:
<CALL TYPE='Ping'><IP>10.0.0.10</IP></CALL>
我正在尝试编写一个 Qt 程序来调用这个 Web 服务。
调用代码如下:
QUrl qrl("http://localhost:8080/WebSvc1/webresources/generic/data?ctype=Ping");
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
printf ("Calling url: [%s]\n", qPrintable(url));
QNetworkReply *reply = 0;
reply = manager->get(QNetworkRequest(qrl));
qDebug() << reply->readAll();
我期待/希望 readAll 将获取 XML 文本数据并打印它(通过 qDebug)。
相反,我什么也没看到,程序只是挂起。
更新,也有这个:
void obj::replyFinished(QNetworkReply *reply)
{
qDebug() << reply->readAll();
}
【问题讨论】:
-
我不太确定,所以现在我发表评论。尝试创建槽 replyFinished 并在这个槽中写入 qDebug()readAll() 现在 ir 工作了吗?
-
我有这个: void iwbWSCall::replyFinished(QNetworkReply *reply) { qDebug() readAll(); } 但仍然没有什么不同。
标签: qt qnetworkaccessmanager qnetworkrequest