Ich würde gerne in meinem Programm SSL-Unterstützung einbauen und da Qt ab Version 4.30 so was kann, habe ich mir die Anleitung mal angeguckt. Leider ist diese sehr knapp bemessen.
Hat damit schon wer programmiert und vielleicht laufenden Sourcecode wie man damit eine HTTPS-Seite runterladen kann?
Gruß Leffotrak
QSslSocket hat da schon jemand was mit gemacht?
Ich werde mich demnächst damit beschäftigen müssen und habe mir deshalb auch schon die Doku etwas näher angeguckt. Um eine https-Seite zu holen brauchst Du aber wohl keinen QSslSocket, da müsste ein QHttp::QHttp(url, QHttp::ConnectionModeHttps) reichen. Gib Bescheid wenn es damit geklappt hat.
Die deutsche Schriftsprache ist case-sensitive. Außerdem gibt es eine Interpunktionsnorm. Wenn manch einer seine Programme genauso schlampig schreibt, wie sein Posting hier, dann sollte er es lieber bleiben lassen.
Danke für den Tip, bin momentan nicht sicher ob das funktioniert. Ich hab's bisher an zwei Seiten getestet, wo ich 'ne https-Seite wußte. Bei der einen bekomme ich einen leeren String zurück und bei Paypal bekomme ich einen 302-Fehler zurück...muß ich weiter testen.
Hier mal der Testcode:
Ich habe vorhin noch etwas gegoogelt und diesen Source hier direkt vom zuständigem Entwickler bei Trolltech entdeckt:
Läßt sich bei mir aber nicht kompilieren, obwohl QSslSocket inkludiert ist meldet Visual Studio "error C2065: 'QSslSocket': nichtdeklarierter Bezeichner" - seltsam.
Klappt das bei dir denn?
Hier mal der Testcode:
Code: Alles auswählen
http = new QHttp("www.paypal.com", QHttp::ConnectionModeHttps, 443, this);
connect(http, SIGNAL(done(bool)), SLOT(yoo(bool)));
http->get("/"); Code: Alles auswählen
QSslSocket socket;
socket.connectToHostEncrypted("www.paypal.com", 443);
socket.write("GET / HTTP/1.0\r\n\r\n");
while (socket.waitForReadyRead())
qDebug() << socket.readAll().data();Klappt das bei dir denn?
-
OregonGhost
- Beiträge: 19
- Registriert: 30. Juli 2007 10:37
- Wohnort: Lübeck
- Kontaktdaten:
Hast du zufällig noch eine Beta oder einen RC von Qt 4.3.0 irgendwo im Suchpfad? Zwischenzeitlich musste man nämlich irgendwo irgendwas definieren, damit QSslSocket korrekt inkludiert wurde, und unter bestimmten Umständen hat die Qt Visual Studio Integration nicht überall die Referenzen auf die Qt-Version aktualisiert. Außerdem war bei mindestens einer dieser Vorversionen Qt nicht mit SSL-Support gebaut worden, was ebenfalls diesen Fehler verursachte.
Wenn keine ältere Version im eigentlichen Suchpfad liegt, mal die Qt-Version der Projektmappe überprüfen.
Ich habe in letzter Zeit nichts mit QSslSocket gemacht, aber mich zunächst mit QtSslSocket beschäftigt und dann den genannten Vorabversionen von QSslSocket rumgespielt. Grundsätzlich schien das alles soweit zu funktionieren.
Wenn keine ältere Version im eigentlichen Suchpfad liegt, mal die Qt-Version der Projektmappe überprüfen.
Ich habe in letzter Zeit nichts mit QSslSocket gemacht, aber mich zunächst mit QtSslSocket beschäftigt und dann den genannten Vorabversionen von QSslSocket rumgespielt. Grundsätzlich schien das alles soweit zu funktionieren.