Http Post um Forumulardaten zu übertragen
Verfasst: 4. Dezember 2009 16:25
Hallo,
habe leider im Forum kein passendes Thema oder welche mit keinen vernünftigen Antworten gefunden.
Ich möchte eine Post-Request an ein Script im Web stellen.
Das ist soweit auch kein Problem. Jetzt habe ich allerdings das Problem das ich nicht weiß wie ich Parameter(QuerryString) mit übergeben soll.
Mein Script lässt sich entweder nicht compilieren oder stürzt beim ausführen des "requests" ab.
Habe es zum einem so versucht. (Programm stürzt beim ausführen dieser Funktion ab)
Ein weiterer Versuch:
Hier wäre ja das Problem das ich den Post-Request nur an den Pfad mache.
Kann mir jemand ein ganz simples Beispiel mit einem Post-Request(bei dem Variablen übergeben werden) zeigen oder mir erklären was ich falsch mache? Werde aus den Dokumentationen von Qt nicht schlau.
Vielen Dank schonmal.
mfg
Christian
habe leider im Forum kein passendes Thema oder welche mit keinen vernünftigen Antworten gefunden.
Ich möchte eine Post-Request an ein Script im Web stellen.
Das ist soweit auch kein Problem. Jetzt habe ich allerdings das Problem das ich nicht weiß wie ich Parameter(QuerryString) mit übergeben soll.
Mein Script lässt sich entweder nicht compilieren oder stürzt beim ausführen des "requests" ab.
Habe es zum einem so versucht. (Programm stürzt beim ausführen dieser Funktion ab)
Code: Alles auswählen
QUrl url("http://www.xxx.de/xxx.cgi");
QHttpRequestHeader header("POST", url.path());
http->setHost(url.host());
header.setValue("Host", url.host());
header.setValue( "User-Agent", "User Agent");
header.setValue("Content-Type", "application/x-www-form-urlencoded");
buffer = new QBuffer(bytes);
bytes->append("?do=hallo");
buffer = new QBuffer(bytes);
resultFile = "result.html";
logFile = new QFile(resultFile);
logFile->open(QIODevice::ReadWrite);
httpPostId = http->request(header, buffer, logFile);
Code: Alles auswählen
QUrl url("http://www.xxx.de/xxx.cgi?do=hallo");
QString fileName = "ausgabe.txt";
QFile::remove(fileName);
file = new QFile(fileName);
QHttp::ConnectionMode mode = url.scheme().toLower() == "https" ? QHttp::ConnectionModeHttps : QHttp::ConnectionModeHttp;
http->setHost(url.host(), mode, url.port() == -1 ? 0 : url.port());
QByteArray path = QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/");
if (path.isEmpty())
path = "/";
http->Greget(path,file);
Kann mir jemand ein ganz simples Beispiel mit einem Post-Request(bei dem Variablen übergeben werden) zeigen oder mir erklären was ich falsch mache? Werde aus den Dokumentationen von Qt nicht schlau.
Vielen Dank schonmal.
mfg
Christian