我是开发黑莓10级联的新手。我需要使用httpget连接到文件xml,并从中获取数据以将其显示在列表上。有没有可以帮我做http通信的例子或者教程?所有的http通信链接,像这样的https://developer.blackberry.com/cascades/documentation/device_platform/networking/tutorial_http_comm.html都不起作用,我得到404
发布于 2013-05-07 12:28:06
使用QNetworkAccessManager、QNetworkRequest和QNetworkReply类建立http连接。
QNetworkAccessManager* netManager = new QNetworkAccessManager();
QUrl myurl(yourURL);
QNetworkRequest req(url);
QNetworkReply* ipReply = netManager->get(req);
connect(ipReply, SIGNAL(finished(QNetworkReply*)), this, SLOT(onReply(QNetworkReply*)));
}在onReply插槽中解析您响应
if (reply) {
if (reply->error() == QNetworkReply::NoError) {
int available = reply->bytesAvailable();
if (available > 0) {
int bufSize = sizeof(char) * available + sizeof(char);
QByteArray buffer(bufSize, 0);
int read = reply->read(buffer.data(), available);
response = QString(buffer);
}
} else {
response =
QString("Error: ") + reply->errorString()
+ QString(" status:")
+ reply->attribute(
QNetworkRequest::HttpStatusCodeAttribute).toString();
}
reply->deleteLater();
}有关更多信息,请访问this page
发布于 2013-06-25 12:51:10
使用下面的代码。
QNetworkAccessManager* netManager = new QNetworkAccessManager();
QUrl myurl("http://******");
QNetworkRequest req(myurl);
QNetworkReply* ipReply = netManager->get(req);
QEventLoop eventLoop;
QObject::connect(ipReply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
eventLoop.exec();
std::cout << "finished" << std::endl; //request finished here
requestFinished(ipReply);https://stackoverflow.com/questions/16400106
复制相似问题