我有一个Web服务,需要使用Qt将一些数据POST到该服务。
我想到可以在向Web服务POST时使用QByteArray。
我的问题是,我该如何格式化这个数组,以便在另一端能够正确解析?
到目前为止,这是我拥有的代码:
// Setup the webservice url
QUrl serviceUrl = QUrl("http://myserver/myservice.asmx");
QByteArray postData;
/*
Setup the post data somehow
I want to transmit:
param1=string,
param2=string
*/
// Call the webservice
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(serviceRequestFinished(QNetworkReply*)));
networkManager->post(QNetworkRequest(serviceUrl), postData);
谢谢!
QUrlQuery
有这个功能,但它没有.encodedQuery()
。 - JVE999addQueryItem()
方法不会像HTML表单一样将空格(ASCII 0x20)编码为加号(+)。详见:http://doc.qt.io/qt-4.8/qurl.html#addQueryItem - djvgpostData.query().toUtf8()
。 - Tomilov Anatoliy