Problem mit QHttp

Alles rund um die Programmierung mit Qt
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Oder dein Browser macht mehr als nur die URL aufzurufen..
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

naja, er ruft die url mit entsprechenden parametern für user, passwd etc. auf! aber das ist doch standard und entspricht exakt einem POST request!
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Nein, das ist eben KEIN Post-Request.
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

Wikipedia:
GET ist die gebräuchlichste Methode. Mit ihr werden Inhalte vom Server angefordert.
POST ähnelt der GET-Methode, nur dass ein zusätzlicher Datenblock übermittelt wird. Dieser besteht üblicherweise aus Name-Wert-Paaren, die aus einem HTML-Formular stammen. Grundsätzlich können Daten auch mittels GET übertragen werden (als Argumente im URI), aber die Übertragung der Argumente erfolgt bei POST diskret (wichtig bei sensiblen Daten), und die zulässige Datenmenge ist deutlich größer.

und exakt das brauche ich!
ConfusedSushi
Beiträge: 57
Registriert: 18. Januar 2008 16:46
Wohnort: Berlin

Beitrag von ConfusedSushi »

vielleicht installierst du dir mal firebug oder was ähnliches und schaust was dein browser so macht ...

es könnte doch sein das, das script auf der gegenseite kein post annimmt.
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

es antwortet aber mit OK und id=200
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Strugge hat geschrieben:Wikipedia:
GET ist die gebräuchlichste Methode. Mit ihr werden Inhalte vom Server angefordert.
POST ähnelt der GET-Methode, nur dass ein zusätzlicher Datenblock übermittelt wird. Dieser besteht üblicherweise aus Name-Wert-Paaren, die aus einem HTML-Formular stammen. Grundsätzlich können Daten auch mittels GET übertragen werden (als Argumente im URI), aber die Übertragung der Argumente erfolgt bei POST diskret (wichtig bei sensiblen Daten), und die zulässige Datenmenge ist deutlich größer.

und exakt das brauche ich!
Und wenn du das in der URL im Browser mit übermittelst, ist das eben über GET. PHP macht da einen Unterschied.
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

genau! da gebe ich dir recht, daher habe ich es ja nun über addQueryItem und POST gemacht, was eine sicherere variante von GET ist!

im prinzip ist mir die methode egal!
es soll nur mal funktionieren!
verstehe auch nicht recht, weshalb QHttp keine Methode mitliefert mit der direkte URL aufrufe an den server geschickt werden können.
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

So Jungs, vielen Dank für Eure Beiträge! Wir können nun den Thread beenden! Es läuft! ;) Und zwar mit diesem Code:

QUrl url("http://213.158.112.40/smsgw/sendsms.php");
url.setPort(80);
url.addQueryItem ("user", user);
url.addQueryItem ("password", passwd);
url.addQueryItem ("sender", sender);
url.addQueryItem ("recipients", recipient);
url.addQueryItem ("message", message);

m_pHttp = new QHttp;

QHttp::ConnectionMode mode = url.scheme().toLower() == "https"? QHttp::ConnectionModeHttps : QHttp::ConnectionModeHttp;
m_pHttp->setHost(url.host(), mode, url.port() == -1 ? 0 : url.port());
connect(m_pHttp, SIGNAL(responseHeaderReceived(const QHttpResponseHeader&)), this, SLOT(readResponse(const QHttpResponseHeader&)));
m_pHttp->get(url.toEncoded());

also ein "einfacher" get aufruf mit der kompletten URL inkl. aller key=value parameter!

thanks again,
m.
Antworten