如何使用Qt 4.6.1創建帶有一些URL編碼參數的HTTP POST請求?如何使用Qt 4.6.1創建HTTP POST請求?
我發現我可以創建一個QNetworkRequest,在那裏設置所有參數並通過QNetworkAccessManagers post方法發送它。但是,我怎樣才能向請求添加一些URL編碼參數?
最後我想訪問使用Qt/C++的Eve API。一個Python的例子可以在這裏找到: http://www.eveonline.com/api/doc/example-python.asp
我設法它使用類似(有待重構,並形成一些有用的東西):
QNetworkReply *requestApi(QNetworkAccessManager &nwam)
{
QNetworkRequest request(QUrl("http://api.eve-online.com/account/Characters.xml.aspx"));
request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
QByteArray data;
QUrl params;
params.addQueryItem("userid","user");
params.addQueryItem("apiKey","key");
data.append(params.toString());
data.remove(0,1);
QNetworkReply *reply = nwam.post(request,data);
return reply;
}
[QUrl :: addEncodedQueryItem()](http://doc.trolltech.com/4.6/qurl.html#addEncodedQueryItem)?我自己使用Qt,但還沒有使用過很多的HTTP部分。 – Macke 2010-02-07 16:32:35
對於您的使用情況來說,QNetworkAccessManager看起來像是過度殺毒。爲什麼不使用libcurl? – Paladin 2015-06-22 15:23:55