![]() |
POST-Ergebnis speichern / Datei herunterladen
Hallo,
ich benötoge mal wieder euren Rat: Das ganze sieht so aus (IST-Zustand): Ich lade eine HTML-Datei, die ein ganz einfaches Formular enthält, dass aus zwei Textfeldern und einem Submit-Button besteht. Per POST werden die Parameter in den Textfeldern ("ID" und "Produkt") an eine https-URL geschickt. Als Reaktion auf den POST öffnet sich das Dialogfenster "Zertifikat annehmen JA oder NEIN" und eine "Username/Passwort-Abfrage". Ist diese Hürde genommen, zeigt mein TWebBrowser die Grafik an, die ich bestellt habe. Soll-Zustand: Per Indy-Komponenten sollen an den Server die Parameter "Id" und "Produkt" gesendet werden. Die Antwort (hier: eine Grafik des Typs png) soll dann (automatisch) gespeichert werden. Wichtig: Die nerfige Authentifizierungs-Abfrage soll nicht mehr auftauchen. Problem: Wie kann ich meine Parameter ("ID" und "Produkt") an eine https-URL senden und eine Antwort (also die o.g. Grafikdatei) speichern ? Bisher habe ich es nur geschafft strings zu empfangen - das ging so:
Delphi-Quellcode:
:gruebel:
function TForm1.SendPostData(Ahttp: TIdHTTP; const AtoURL: string): string;
//AtoURL: An diese URL werden die Informationen gesendet //Result: HTML-Ergebnis (quasi Antwort des Scripts) var aStream: TMemoryStream; Params: TStringStream; begin aStream := TMemoryStream.create; Params := TStringStream.create(''); AHTTP.Request.ContentType := 'application/x-www-form-urlencoded'; try //Stream mit Werten füllen Params.WriteString('TRANSAKTIONSKENNUNG=' + transaktionskennung + '&'); //hier sollen "ID" und "Produkt" Params.WriteString('INSTITUTION=' + institution); //eingelesen werden. AHTTP.Request.BasicAuthentication:=true; AHTTP.Request.Username:=MeinBenutzername; AHTTP.Request.Password:=MeinPasswort; try AHTTP.Post(AtoURL,Params,aStream); except on E: Exception do showmessage('Fehler bei der Übertragung: ' + E.Message); end; aStream.WriteBuffer(#0' ', 1); Result := PChar(aStream.Memory); except Result := 'Fehler!'; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz