Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdHTTP Formulardaten senden und URL bekommen (https://www.delphipraxis.net/71581-idhttp-formulardaten-senden-und-url-bekommen.html)

F.W. 17. Jun 2006 16:52


IdHTTP Formulardaten senden und URL bekommen
 
Hallo!

Ich möchte mit einer IdHTTP Kompo Formulardaten an eine Suchmaske senden und dann die URL von der Seite bekommen, die beim Absenden aufgerufen wird. Also im IE wird beim Klicken auf "Suchen" eine Seite mit anderer URL geöffnet, aber wie bekomme ich die mit der IdHTTP Kompo heraus?

Oder muss ich da eine andere Kompo nehmen?

Klaus01 17. Jun 2006 16:59

Re: IdHTTP Formulardaten senden und URL bekommen
 
Hallo,

Du kannst Dir ja einmal diesen Thread anschauen: http://www.delphipraxis.net/internal...t=idhttp1+post
und Dir daraus Anleihen herausholen.

Ansonsten spuckt Dir die Suche nach idhhttp1.post jede Menge an Infos aus.

Grüße
Klaus

F.W. 17. Jun 2006 17:13

Re: IdHTTP Formulardaten senden und URL bekommen
 
Ich habe bereits nach "Post" gesucht, aber da kommen zu viele Ergebnisse.
Ich habe es auch schon mit anderen Suchwörtern gesucht, aber finde nichts richtiges, sonst würde ich nicht einen neuen Thread erstellen.

Ehrlich gesagt, kann ich aus dem Thread keine Informationen finden, die mir etwas nutzen :(

Klaus01 17. Jun 2006 17:17

Re: IdHTTP Formulardaten senden und URL bekommen
 
Delphi-Quellcode:
  reply := IdHTTP1.Post(server, data);
in reply steht dann das was idhttp.post zurückliefert, wenn es eine URL
ist, steht da eine URL drinnen.

Die Übergebenen Daten für das Formular werden hier
zusammengesetzt:
Delphi-Quellcode:
         { POST daten erstellen }
         data.AddFormField('user', edit_user.text);
         data.AddFormField('pass', md5.MD5Print(pass));
         data.AddFormField('zeile1', zeile[1]);
         data.AddFormField('zeile2', zeile[2]);
         data.AddFormField('zeile3', zeile[3]);
         data.AddFormField('zeile4', zeile[4]);
         data.AddFormField('zeile5', zeile[5]);
         data.AddFormField('lastupdate', datetostr(date) +', '+ timetostr(gettime));
         data.AddFormField('version', version);
         data.Position:=0;
Diese Daten, werden für Dein Formular anders auszusehen haben.
Darum mußt Du dich dann kümmern.

Grüße
Klaus

F.W. 17. Jun 2006 17:33

Re: IdHTTP Formulardaten senden und URL bekommen
 
Aber so wie es in dem Thread steht, bekomme ich ja den Quelltext der aufgerufenen Seite zurück, ich möchte aber eigentlich nur die URL, die zu der aufgerufenen Seite gehört

Klaus01 17. Jun 2006 17:38

Re: IdHTTP Formulardaten senden und URL bekommen
 
Nun, ich bezweifle ein wenig, daß ein komplette HtmlSeite
als ein String zurückgeliefert wird. Das hängt aber auch von dem
Formular ab, was in dem replay drinnen steht.

Und wenn es die ganze Seite ist, kannst Du dann nicht die URL herausfiltern?

Grüße
Klaus

F.W. 17. Jun 2006 17:51

Re: IdHTTP Formulardaten senden und URL bekommen
 
Also bei der Postmethode wird im Result (wenn man ne Funktion nimmt) immer der Quelltextinhalt zurückgegeben, anders kenn ich das auch garnicht. Und in dem Quelltext steht eben nur leider die URL ne mit drin!

Und die Größe eines Strings wird nur durch die Größe des Arbeitsspeichers eingegrenzt. Steuerzeichen wie Zeilenumbruch können da vorkommen.
Ein Bsp dafür ist TStrings.Text

SirThornberry 17. Jun 2006 18:03

Re: IdHTTP Formulardaten senden und URL bekommen
 
Es wäre ja auch völlig unlogich das TIdHTTP.Post eine URL zurück gibt denn du übergibst der Post-Methode schon die URL welche aufgerufen wird und der die Daten übergeben werden. Ich habe mehr die Vermutung das du nicht weißt ein Formular in HTML funktioniert. Dort wird im "form"-Tag per "action" definiert welches die Zielseite ist an welche die Daten geschickt werden. Du musst also bei Post an die URL die bei "action" angegeben ist die Daten schicken.

F.W. 17. Jun 2006 18:18

Re: IdHTTP Formulardaten senden und URL bekommen
 
Also mal ganz präzise (sorry, dass ichs nich gleich so gemacht hab ^^ )

Die Seite www.snapscouts.de beinhaltet, egal welche Unterseite, am linken Rand ein Suchfeld.
Wenn man auf Suchen, bzw. in diesem Fall "los" klickt, wird ja die Profilseite des Users geöffnet.

Aber wie bekomme ich jetzt durch den Usernamen und das Absenden der Informationen diese URL?

Klaus01 17. Jun 2006 19:20

Re: IdHTTP Formulardaten senden und URL bekommen
 
Nur zur allgemeinen Info:

Ein Auszug des Quelltextes der WebSeite:

<td nowrap><form method="post" action="/?do=profile&amp;task=quicksearch">
<input name="username" class="button" style="width:110px;" value=" Direktsuche " onfocus="this.value=''">
<input type="submit" style="width:25px" value=" Los " name="submit" class="button">

Ich klinke mich jetzt hier aus.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz