AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi POST-Ergebnis speichern / Datei herunterladen
Thema durchsuchen
Ansicht
Themen-Optionen

POST-Ergebnis speichern / Datei herunterladen

Offene Frage von "Marvin666"
Ein Thema von Marvin666 · begonnen am 14. Feb 2006
Antwort Antwort
Marvin666

Registriert seit: 18. Jan 2006
Ort: Sinzig
4 Beiträge
 
#1

POST-Ergebnis speichern / Datei herunterladen

  Alt 14. Feb 2006, 16:49
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:
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz