Problem mit QHttp

Alles rund um die Programmierung mit Qt
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Problem mit QHttp

Beitrag von Strugge »

Hallo zusammen,

ich habe ein Problem bei der Benutzung von QHttp!
Das Beispiel unter example/Network/Http kann ich problemlos ausführen!

Dieser Code:

QString user = ui.m_qLineEdit_User->text();
QString passwd = ui.m_qLineEdit_Password->text();
QString sender = ui.m_qLineEdit_Sender->text();
QString recipient = ui.m_qLineEdit_Recipient->text();
QString message = ui.m_qTextEdit_SMSMessage->toPlainText();

QString paramString = QString("user=%1&password=%2&sender=%3&recipients=%4&message=%5").arg(user).arg(passwd).arg(sender).arg(recipient).arg(message);

QByteArray arr;
arr.append(paramString);

http = new QHttp("http://213.158.112.40", QHttp::ConnectionModeHttp);
http->post("/smsgw/sendsms.php", arr);


gibt mir allerings die folgende Fehlermeldung:

QSslSocket: cannot ssleay32 library: QLibrary::load_sys etc.

Any ideas?

Herzlichen Dank und beste Grüße,
Matthias
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

openssl nicht installiert
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

SSL braucht man aber nicht für eine HTTP Verbindung und da ich HTTPS nicht will, habe ich es explizit angegeben! Das Qt/Http Beispiel kommt ja auch ohne aus!
Muss also ein Qt-Bug sein!
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

"http://" ist NICHT Teil des Hostnamens! Außerdem halte ich den oberen Teil ebenfalls für sehr unsicher.. Was wenn man z.B. "&sender=bla" innerhalb der SMS mitschickt?
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

das ist nicht unsicher, weil ich es explizit festlege und niemand eingreifen kann! dass http:// nicht teil des hostnamen ist, löst das problem leider nicht!
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

so kann man nichts damit machen ....

Code: Alles auswählen


http = new QHttp("http://213.158.112.40", QHttp::ConnectionModeHttp);
http->post("/smsgw/sendsms.php", arr); 

wenn schon

Code: Alles auswählen

QUrl requesturl("http://213.158.112.40//smsgw/sendsms.php");
QHttp *send = new QHttp(requesturl.host(),requesturl.port(), parent );
header.setRequest("POST",requesturl.path(),1,1);
teil code von http://www.qt-apps.org/content/show.php ... tent=76432
.........................
speack português italiano deutsch english castellà qt
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

danke, aber auch das löst das eigentliche problem natürlich nicht!
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Dann betreiben wir mal ein wenig Fehlereingrenzung..
Kannst du das Beispiel nur ausführen, oder auch selbst kompilieren?
Wann taucht der von dir genannte Fehler auf?
Wie lautet die Fehlermeldung ganz genau?
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

ja, ich kann das beispiel kompilieren, da ich es selbst geschrieben habe!
der fehler taucht auf, beim ausführen von http->post(...)
die beschreibung beginnt wie oeben beschrieben, der rest ist irrelevant!
ich konnte den fehler beheben, in dem ich die 3 dateien ssleay32.dll, libssl32.dll, libeay32.dll in das verzeichnis der *.exe kopiert habe!
allerdings wird der url request dennoch nicht richtig ausgeführt!

danke,
matthias
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Erwartest du zufällig das die Seite "smsgw/sendsms.php?user=%1&password=%2&sender=%3&recipients=%4&message=%5" aufgerufen wird? Also das die Parameter wie aus z. B. PHP gewohnt über den URL Namen übermittelt wird?
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

ja klar, was sonst?
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Warum sendest du dann einen POST Request?
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

was soll ich denn sonst für einen request schicken?
PeterLustig
Beiträge: 386
Registriert: 21. November 2007 20:07

Beitrag von PeterLustig »

Einfach die URL "bla.php?tut=fubar" abrufen.. Diese Argumente sind Teil der URL. Ein POST Request ist etwas anderes.
Strugge
Beiträge: 20
Registriert: 26. April 2008 16:25

Beitrag von Strugge »

und wie rufe ich die ab?

danke schon mal!

M.
Antworten