Daten in einer Website eingeben mit FPHttpClient?

Alle Fragen zur Netzwerkkommunikation
Antworten
Patrix2911
Beiträge: 31
Registriert: So 30. Jul 2017, 13:53

Daten in einer Website eingeben mit FPHttpClient?

Beitrag von Patrix2911 »

Hallo,

gibt es denn eine Möglichkeit mit der fphttpclient Unit Daten in einer Website einzugeben und dann die Ergebniswebsite einzulesen?

Nehmen wir als Beispiel einfach das Suchfeld von google.de.

Vorab danke für eure Hilfe :)

compmgmt
Beiträge: 351
Registriert: Mi 25. Nov 2015, 17:06
OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
CPU-Target: i386 + x86_64
Wohnort: in der Nähe von Stuttgart
Kontaktdaten:

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von compmgmt »

Ich glaub da bist du mit Browser-Plugins besser bedient

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Warf
Beiträge: 1474
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: MacOS | Win 10 | Linux
CPU-Target: x86_64
Wohnort: Aachen

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von Warf »

Daten werden im HTTP eingeteilt in Get und Post. Get Daten werden über den UrlString weitergegeben (z.B. https://www.google.de/search?q=suche übergibt die Daten als hättest du suche bei Google eingegeben). Post Daten werden über den Content des HTTP Requests gesendet.

Post Daten werden mit dem fpHttpClienten so versendet:

Code: Alles auswählen

var h: TFPHTTPClient;
  sl: TStringList;
  response: String;
begin
  h:=TFPHTTPClient.Create(nil);
  sl:=TStringList.Create;
  try
    sl.Values[EncodeURLElement('Feld1')]:=EncodeURLElement('Wert1')];
    sl.Values[EncodeURLElement('Feld2')]:=EncodeURLElement('Wert2')];
    sl.Values[EncodeURLElement('Feld3')]:=EncodeURLElement('Wert3')];
    sl.Delimiter:='&';
    sl.StrictDelimiter:=True;
    response := h.FormPost('http://dein.URL/pfad?getDaten', sl.DelimitedText);
  finally
    sl.Free;
    h.Free;
  end;


Was für daten versendet werden wenn du irgendwas auf der Internetseite machst kannst du mit einem HTTP Sniffer rausfinden, z.B. Fiddler

creed steiger
Beiträge: 954
Registriert: Mo 11. Sep 2006, 22:56

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von creed steiger »

die Internet Tools von BeniBela sollten das können

corpsman
Beiträge: 1111
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus SVN Trunk, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von corpsman »

Jup können sie, siehe hier : viewtopic.php?f=26&t=10861
--
Just try it

mschnell
Beiträge: 3417
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von mschnell »

Hab ich mal mit Synapse gemacht.

-Michael

corpsman
Beiträge: 1111
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus SVN Trunk, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von corpsman »

@michael

hast du ein demo dazu ?

ich hab meins noch nich am laufen : viewtopic.php?f=26&t=10861
--
Just try it

Warf
Beiträge: 1474
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: MacOS | Win 10 | Linux
CPU-Target: x86_64
Wohnort: Aachen

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von Warf »

mschnell hat geschrieben:Hab ich mal mit Synapse gemacht.

-Michael


Warum man ein externes Framework (bei dem man eventuell noch Lizenzen beachten muss) verwendet, statt der mitgelieferten Variante einer Bibliothek die man sowieso verwendet, bleibt mir unschlüssig.

Benutzeravatar
theo
Beiträge: 8400
Registriert: Mo 11. Sep 2006, 19:01

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von theo »

Warf hat geschrieben:
mschnell hat geschrieben:Hab ich mal mit Synapse gemacht.

-Michael


Warum man ein externes Framework (bei dem man eventuell noch Lizenzen beachten muss) verwendet, statt der mitgelieferten Variante einer Bibliothek die man sowieso verwendet, bleibt mir unschlüssig.


Dafür kann es schon Gründe geben.
- Synapse ist bspw. Delphi kompatibel. Ich kann damit also Code schreiben, der auf beiden Systemen läuft.
- Synapse ist viel älter und gut ausentwickelt.
- Ich habe unter Delphi und Kylix schon Synapse verwendet und konnte somit alten Code und Know-how unter Lazarus wiederverwenden.
- Persönliche Vorlieben.
- Hilfesystem, Community.
....

wp_xyz
Beiträge: 3306
Registriert: Fr 8. Apr 2011, 09:01

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von wp_xyz »

Warf hat geschrieben:
mschnell hat geschrieben:Hab ich mal mit Synapse gemacht.

-Michael


Warum man ein externes Framework (bei dem man eventuell noch Lizenzen beachten muss) verwendet, statt der mitgelieferten Variante einer Bibliothek die man sowieso verwendet, bleibt mir unschlüssig.

Seh ich auch so (natürlich nur, wenn es funktionell äquivalent ist). Es gibt gerade im Ordner fpc/packages Unmengen von Schätzen, die kaum jemand kennt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4222
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Daten in einer Website eingeben mit FPHttpClient?

Beitrag von af0815 »

wp_xyz hat geschrieben:Seh ich auch so (natürlich nur, wenn es funktionell äquivalent ist). Es gibt gerade im Ordner fpc/packages Unmengen von Schätzen, die kaum jemand kennt.

Weil es sowenige Schatzkarten gibt, über die man diese Schätze findet. Oft ist es auch gar nicht einfach die Schätze zu heben, da ich schon ein paarmal auf Sachen gestossen bin, die nicht fertig oder buggy waren/sind, oder auch nur Fragmente sind, die woanders verwendet werden. Dazu kommt noch der Unterschied FPC/Lazarus und die sich daraus ergebenden anderen Sichtweisen :-)

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten