Bei Get werden sämtliche Parameter (also Formularfelder) in der
URL übertragen. z. B.
http://www.deineseite.de/index.php?s...sch&seite=home
Die
URL besteht also aus der Domain deineseite.de, der Datei index.php und 2 Parametern. Nach der Datei kommt ein Fragezeichen was sozusagen den Beginn der Parameter einleitet. Ein Parameter besteht immer aus einem Paar, wobei der erste Wert der Name des Parameters und der zweite gefolgt nach einem Gleichheitszeichen der Wert für den Parameter ist (Name: sprache | Wert Deutsch). Wenn du mehrere Parameter übergeben willst werden diese mit einem kaufmännischen UND verbunden. Insgesamt könnte es dann so aussehen: ?sprache=deutsch&seite=home
Bei POST werden die Parameter ebenfalls so gegliedert, jedoch nicht per
URL sondern mit der Anforderung an den Server (Request) versendet.
Zum Code:
Delphi-Quellcode:
var
http: TIdHTTP;
s: String;
Params: TStrings;
begin
http := TIdHTTP.Create(nil); //erstellen des TIdHTTP-Objekts, du könntest auch die Komponente aufs Form ziehen und mit IdHTTP1 verwenden, du sparst dir dann sowohl Create als auch Free
try
...
ShowMessage(s); //Zeigt den Quellcode der Eregbnis- / Login- / oder sonstwas - Seite an
finally
http.free; //das IdHTTP-Objekt löschen um Arbeitsspeicher freizugeben
end;
end;
Delphi-Quellcode:
//wenn die Übertragungsmethode GET ist und dir die Namen der Eingabefelder bekannt sind kannst du die URL einfach zusammen setzen (siehe oben)
s := http.Get('
http://seite.de/datei.php?feld1=bla&feld2=blubb');
//wenn die Übertragungsmethode POST ist benötigen wir erst ein Objekt vom Typ TStrings/TStringList um die Parameter zu setzen
Params := TStringList.Create;
//Objekt erstellen
try
Params.add('
feld1=bla');
//erstes Parameterpaar hinzufügen
Params.Add('
feld2=blubb');
//2tes...
s := http.Post('
http://seite.de/datei.php', Params);
//Der erste Parameter von .Post ist die aufzurufende Seite, der 2. übergibt unsere Parameterliste
finally
Params.free;
//Speicher freigeben
end;