QHttp request mit Url-Query
QHttp request mit Url-Query
Hallo,
ich habe folgendes Problem:
Ich möchte in meiner Applikation ein HTTPRequest schicken und Veriablen im Stil: http://url/file.ext?key=value
anhängen.
Leider erlaubt QHttp ja nur URLs ohne Solche Erweiterungen.
Werden solche Variablen im HTTPHeader übergeben und wie sieht der Header dazu aus? Oder erlaubt es Qt dies auch anders zu regeln?
Vielen Dank schon im Vorraus!
ich habe folgendes Problem:
Ich möchte in meiner Applikation ein HTTPRequest schicken und Veriablen im Stil: http://url/file.ext?key=value
anhängen.
Leider erlaubt QHttp ja nur URLs ohne Solche Erweiterungen.
Werden solche Variablen im HTTPHeader übergeben und wie sieht der Header dazu aus? Oder erlaubt es Qt dies auch anders zu regeln?
Vielen Dank schon im Vorraus!
Hi,
ich habe es genau mit diesem Beispiel versucht!
Das Ergebniss ist, dass er einfach die php-datei runter läd und gut ist.
Die Datei beinhaltet dann natürlich eine Fehlermeldung: "Falscher Aufruf" da sie ja die Get-Variablen erwartet.
Ich habe mich jetzt mal mit nem HTTP-Traffic Sniffer hingesetzt und den Seitenaufruf den ich haben möchte durchgetestet.
Dabei zeigt mir der Sniffer immer:"Method Line: /GET var=value" an.
Die Frage wäre nun ob "Method Line" jetzt einfach eine Erfindung vom Sniffer ist oder Bestandteil des HTTP-Headers.
@Goofy: QUrl bringt mir leider nichts. Ist ja nur ein Struct o.ä. was die Bestandteile der URL enthält, aber nicht den HTTP-Header erweitert.
Die Threads die ich hier gefunden habe haben alle das Problem gelöst wie man mit POST arbeitet.
Ich meine sogar alle um Datein hochzuladen. Auch sehr nützlich aber leider nicht mein Problem
Wenn jemand noch ne Idee hat wäre toll. Auch Infos zu Recursive-Web bzw. Redirects in Qt würden mir sehr helfen.
ich habe es genau mit diesem Beispiel versucht!
Das Ergebniss ist, dass er einfach die php-datei runter läd und gut ist.
Die Datei beinhaltet dann natürlich eine Fehlermeldung: "Falscher Aufruf" da sie ja die Get-Variablen erwartet.
Ich habe mich jetzt mal mit nem HTTP-Traffic Sniffer hingesetzt und den Seitenaufruf den ich haben möchte durchgetestet.
Dabei zeigt mir der Sniffer immer:"Method Line: /GET var=value" an.
Die Frage wäre nun ob "Method Line" jetzt einfach eine Erfindung vom Sniffer ist oder Bestandteil des HTTP-Headers.
@Goofy: QUrl bringt mir leider nichts. Ist ja nur ein Struct o.ä. was die Bestandteile der URL enthält, aber nicht den HTTP-Header erweitert.
Die Threads die ich hier gefunden habe haben alle das Problem gelöst wie man mit POST arbeitet.
Ich meine sogar alle um Datein hochzuladen. Auch sehr nützlich aber leider nicht mein Problem
Wenn jemand noch ne Idee hat wäre toll. Auch Infos zu Recursive-Web bzw. Redirects in Qt würden mir sehr helfen.
also der nachmittag hat sich gelohnt ...
hab eine Lösung für unser Problem.
>Ich möchte in meiner Applikation ein HTTPRequest schicken und Veriablen
>im Stil: http://url/file.ext?key=value anhängen.
Hier die Lösung:
Hier wird die Anfrage in file geladen.
Man kann aber auch dinge setzten, statt "GET" einfach "POST".
Also so ist die Theorie ...
Das hab ich noch nicht ausprobiert kommt aber als nächstest
goofy
hab eine Lösung für unser Problem.
>Ich möchte in meiner Applikation ein HTTPRequest schicken und Veriablen
>im Stil: http://url/file.ext?key=value anhängen.
Hier die Lösung:
Code: Alles auswählen
URL = new QUrl("http://www.bla.de");
Http->setHost(URL->host());
Http->setUser(user, pw);
QHttpRequestHeader header("GET", "/axis-cgi/admin/param.cgi?action=list");
Http->request(header, 0, file);Man kann aber auch dinge setzten, statt "GET" einfach "POST".
Also so ist die Theorie ...
Das hab ich noch nicht ausprobiert kommt aber als nächstest
goofy
Hallo,
hoff das gerade konnte helfen.
also hab mit Live HTTP Headers das Ganze angeschaut, Extension für FireFox.
http://downloads.mozdev.org/livehttphea ... s-0.12.xpi
Glaub das Methode Line eine Erfindung des Sniffers ist.
in diese LiveHTTPHeaders sieht das wiefolgt aus:
GET /axis-cgi/admin/param.cgi?action=list HTTP/1.1
Dann kannst du das einfach nehmen und das ...
draus machen.
Dann mit diesem Header irgendwelchen tollen sachen machen ..
goofy
hoff das gerade konnte helfen.
also hab mit Live HTTP Headers das Ganze angeschaut, Extension für FireFox.
http://downloads.mozdev.org/livehttphea ... s-0.12.xpi
Glaub das Methode Line eine Erfindung des Sniffers ist.
in diese LiveHTTPHeaders sieht das wiefolgt aus:
GET /axis-cgi/admin/param.cgi?action=list HTTP/1.1
Dann kannst du das einfach nehmen und das ...
Code: Alles auswählen
QHttpRequestHeader header("GET", "/axis-cgi/admin/param.cgi?action=list"); Dann mit diesem Header irgendwelchen tollen sachen machen ..
goofy