如何使用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