¿Cómo puedo crear una solicitud HTTP POST con algunos parámetros codificados en la URL utilizando Qt 4.6.1?¿Cómo puedo crear una solicitud HTTP POST con Qt 4.6.1?
Descubrí que puedo crear una QNetworkRequest, establecer todos los parámetros y enviarlos a través del método de publicación de QNetworkAccessManagers. Pero, ¿cómo puedo agregar algunos parámetros codificados por URL a la solicitud?
Al final quiero acceder al Eve API usando Qt/C++. Un ejemplo de Python se puede encontrar aquí: http://www.eveonline.com/api/doc/example-python.asp
lo logré usar algo como (aún no se ha rediseñado y se conforma en algo útil):
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)? Estoy usando Qt, pero no he usado tanto las partes de HTTP ... todavía. – Macke
Para su caso de uso, el QNetworkAccessManager parece excesivo. ¿Por qué no usar libcurl? – Paladin