Einzelnen Beitrag anzeigen

Lord Shadow

Registriert seit: 10. Okt 2007
15 Beiträge
 
#9

Re: URL aufrufen und POST ausführen

  Alt 10. Okt 2007, 12:28
Mittels der idHTTP Komponente kannst du URLS mit Get und Post Daten aufrufen und damit auch gleich Formulare abschicken. Zurückgegeben wird der Quelltext der dann entstandenen Seite. Die Postdaten kannst du genauso in einem String zusammenfassen und mit idHTTP.Post an die URL schicken.

Quelle: www.dsdt.info
Delphi-Quellcode:
function SendPostData(Ahttp: TIdHTTP; const AtoURL: String; const aParams: TStrings): String;
  //Ahttp: Die HTTP Komponente von Indy 8.0 bzw. 9.0
  //AtoURL: An diese URL werden die Informationen gesendet
  //Result: HTML-Ergebnis (Antwort des Scripts)
Var
  lStream: TMemoryStream; //HTML-Result des PHP-Scripts
  lParams: TStringStream;
  I: Integer;
begin
  Result:='';
  if not Assigned(aHttp) then
    exit;
  lStream := TMemoryStream.create;
  lParams := TStringStream.create('');
  try
    AHTTP.Request.ContentType := 'application/x-www-form-urlencoded';

    //Dieser Stream wird letztendlich gesendet
    //Stream mit Werten füllen
    for I:=0 to aParams.Count-1 do
      lParams.WriteString(aParams[I] + '&');

    try
      //Stream an das PHP-Script senden
      AHTTP.Post(AtoURL,
                 lParams,
                 lStream);
    except
      on E: Exception do
        showmessage('Fehler bei der Übertragung: ' + E.Message);
    end;
    SetLength(Result,lStream.Size);
    lStream.Position:=0;
    lStream.ReadBuffer(Result[1],lStream.Size);
  finally
    lParams.Free;
    lStream.Free;
  end;
end;
Mfg Shadow
  Mit Zitat antworten Zitat