Come posso creare una richiesta HTTP POST con alcuni parametri codificati URL usando Qt 4.6.1?Come posso creare una richiesta HTTP POST con Qt 4.6.1?
Ho capito che posso creare un QNetworkRequest, impostare tutti i parametri e inviarlo tramite il metodo di post QNetworkAccessManagers. Ma come posso aggiungere alcuni parametri con codifica URL alla richiesta?
Alla fine voglio accedere allo Eve API usando Qt/C++. Un esempio di Python può essere trovato qui: http://www.eveonline.com/api/doc/example-python.asp
Sono riuscito utilizzando qualcosa di simile (ancora da refactoring e formato in qualcosa di utile):
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)? Sto usando Qt da solo, ma non ho ancora usato le parti HTTP ... ancora. – Macke
Per il tuo caso d'uso, QNetworkAccessManager sembra eccessivo. Perché non usare solo libcurl? – Paladin