Hallo!
Ich habe folgendes vor. Ich möchte mich auf einer Seite einloggen, einen Link betätigen, der eine Excel-Datei generiert und diese dann herunterladen. Ich bin jetzt soweit, dass ich mit Hilfe der Komponente QWebView das Einloggen und die Generierung der Excel-Datei erfolgreich implementiert habe. Jetzt bleibt nur das Herunterladen. Die Kommunikation mit der Webseite ist Session-basierend. Ich habe jetzt erfolgreich die entsprechende Session-ID aus QWebView extrahieren können. Um die Datei zu laden, muss eine Verbindung zu dem entsprechenden "ExcelHandler.ashx" aufgebaut werden. Wie mache ich das?
Vielen Dank im Voraus!
Mfg Djon
Einloggen auf einer Webseite und Download einer Excel-Datei
Hallo!
Ich habe jetzt nochmal die Anfrage des Browsers mitgeschnitten, die sieht folgendermaßen aus:
Kann man jetzt diese Information an die entsprechende Qt-Klasse für den Download übergeben?
Mfg Djon
Ich habe jetzt nochmal die Anfrage des Browsers mitgeschnitten, die sieht folgendermaßen aus:
Code: Alles auswählen
GET /Restricted/ExcelHandler.ashx HTTP/1.1
Host: www.voipinfocenter.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1064 Safari/532.5
Referer: https://www.voipinfocenter.com/Restricted/ExcelHandler.aspx?ContentType=CallList
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: __utmz=32114489.1273767011.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); ASP.NET_SessionId=xxxxxxxxxxxxxxxxx; ClientCache=StyleHash=6864450200472292482&ValidEmailAddress=True; RESELLER.ASPXAUTH=xxxxxxxxxxxxxxxxxxxxxx; __utma=32114489.1533993703.1273767011.1274027107.1274027530.5; __utmc=32114489; __utmb=32114489.2.10.1274027530
Mfg Djon
-
Troll.Soft
- Beiträge: 190
- Registriert: 18. Juni 2008 09:52
- Wohnort: Hamburg
Definitiv nicht. Mit Ftp mussdie fertige Datei schon im Dateisystem liegen. Es hört sich hier aber so an, als wolle er eine per Webserver (.asp, also ein MS-Server) die Datei generieren lassen. Außerdem sagt der Mitschnitt "HTTP", und die Daten werden per GET geschickt.Troll.Soft hat geschrieben:Wenn Du auf der Seite Schreibrechte hast (offensichtlich ja) und den Namen kennst (was wahrscheinlich ist) kannst Du die Datei einfach mit QFtp() runterladen.
Zum connecten soltest du aber nicht QWebView nehmen. Das Ding ist zur Anzeige gedacht, also nicht zum Anzeigelosen Download. Dafür solltest du dir QNetworkAccessManager + QNetworkReply anschauen.
-
Troll.Soft
- Beiträge: 190
- Registriert: 18. Juni 2008 09:52
- Wohnort: Hamburg
selbstverständlich muß sie das.franzf hat geschrieben:Mit Ftp mussdie fertige Datei schon im Dateisystem liegen.
Meine Internetscripte (Perl) hatten auch nie ein Problem damit, eine Datei im Internetlinux anzulegen.
Ist möglicherweise nicht das, was er will, aber ansonsten ist QFtp() nun mal sehr einfach.
tschüß
Troll.Soft
Hallo!
Der Vorschlage mit QNetworkAccessManager + QNetworkReply ist in meinem Fall leider bisschen kompliziert. Bevor ich die entsprechende Datei runterladen kann, muss die erst noch erstellt werden. Das Erstellen wird durch das Betätigen entsprechende Links, die wiederrum mit irgendwelchen Javascript-Funktionen verbunden sind. Wenn ich das jetzt per Hand alles realisieren sollte, würde es sehr viel Zeit in Anspruch nehmen. Und so erspare ich mir viel Zeit durch den Umweg über die QWebView. Die wird bei mir nur angelegt, aber nicht angezeigt. Klappt bis jetzt bestens!
Mfg Djon
Der Vorschlage mit QNetworkAccessManager + QNetworkReply ist in meinem Fall leider bisschen kompliziert. Bevor ich die entsprechende Datei runterladen kann, muss die erst noch erstellt werden. Das Erstellen wird durch das Betätigen entsprechende Links, die wiederrum mit irgendwelchen Javascript-Funktionen verbunden sind. Wenn ich das jetzt per Hand alles realisieren sollte, würde es sehr viel Zeit in Anspruch nehmen. Und so erspare ich mir viel Zeit durch den Umweg über die QWebView. Die wird bei mir nur angelegt, aber nicht angezeigt. Klappt bis jetzt bestens!
Mfg Djon