ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
1650
1650
EMPFEHLEN
-
10.05.08 19:44 #1
Hallo,
ich habe mal eine Frage.
Dieses "Script" habe ich auf einer Seite gefunden:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP; type TForm1 = class(TForm) Button1: TButton; IdHTTP1: TIdHTTP; EMailEdit: TEdit; TextMemo: TMemo; ResponseMemo: TMemo; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var PostStrings: TStringList; //Zusammengesetze Post-Daten ResponseStream:TStringStream;//Ausgabe der Aufgerufenen Seite ausgabe:String; //Ausgabe der aufgerufenen Seite als String zeile:String; //Zum zeilenweisen Ausgeben der Rückgabe der Aufgerufenen Seite benutzte Zwischenvariable i:Integer; //Zähler für die For-Schleife begin ResponseStream:=TStringStream.Create('');//Rückgabe-Stream erstellen PostStrings := TStringList.Create; //Post-Daten-StringList erstellen try PostStrings.Add('name='+EMailEdit.Text); //Post-Daten in die StringList eintragen PostStrings.Add('password='+TextMemo.Lines.Text); try idHTTP1.Post('http://www.domain.de/get/', PostStrings,Responsestream);//Datei abrufen ausgabe:=ResponseStream.DataString; //Ausbage-Sring die zurückgegebenen Daten zuweisen zeile:=''; //Zwischenvariable leeren for i:=1 to Length(ausgabe) do begin //For-Schleife zum formatieren der Ausgabe (Zeilenumbrüche korrekt darstellen) if (ausgabe[i]=#13) and (ausgabe[i+1]=#10) then begin //Bei Zeilenumbruch ResponseMemo.Lines.Add(zeile); zeile:=''; end else if ausgabe[i]<>#10 Then zeile:=zeile+ausgabe[i]; end; ResponseMemo.Lines.Add(zeile); except //Fehlerbehandlung on E: Exception do showmessage('Error encountered during POST: ' + E.Message); end; finally PostStrings.Free; ResponseStream.Free; end; end; end.
Und dazu dieses PHP Script:
Code :1 2 3 4 5 6
<?php echo 'Name: '.$_POST["name"]; //Ausgeben der E-Mail-Adresse echo Chr(13).Chr(10); //Zeilenumbruch echo 'Passwort: '.$_POST["password"]; ?>
Nun angenommen das PHP Script soll aus einer MySQL Datenbank mehrere Daten holen, und ausgeben.
Wie kann ich, wenn zum Beispiel der Wert Telefonnummer ausgegeben wird, die Antwort in eine leere Variable im Delphi Script speichern.
(Es kommt aber nicht nur zum Beispiel Telefonnummer sondern noch viel mehr auf einmal raus...)
ACHTUNG: Großer großer großer Anfänger am Arbeiten......
-
20.05.08 23:09 #2
Hallo,
Nachdem du dich, wie mir scheint, mit deinem Username/Passwort welche per POST
übertragen werden angemeldet hast, wird der Quellcode, sprich der HTML-Code, der Seite
(welche deine Telefonnummern, etc. enthält) in dem ResponseStream gespeichert.
Da es sich hierbei um einen großen, langen String handelt wird dir nichts anderes übrigbleiben als die gewünschten Werte zu parsen, sprich "rauszuschneiden".
Dafür suchst du dir bestimmte Anhaltspunkte im Quellcode.
Beispiel:
PHP-Code:<html>
<h1>Überschrift</h1>
<p>Tel: 01602674833</p>
<p>Ort: München</p>
</html>
In diesem Fall wären die <p>-Tags ein guter Anhaltspunkt. Die einzelnen Werte
kannst du dann mit Copy ausschneiden. Abschliessend müsstest du vlt noch in andere Dateitypen casten, sprich beispielsweise mit StrToInt.
mfg, KangaxxAhh, the Internet! Where men are men, women are men and little girls are FBI agents.
Ähnliche Themen
-
Abfangen von HTTP Stream
Von KGD92 im Forum C/C++Antworten: 6Letzter Beitrag: 19.03.10, 20:18 -
JPG als HTTP-Stream einbinden VC++ 6
Von Baron Sengir im Forum VisualStudio & MFCAntworten: 0Letzter Beitrag: 03.03.06, 18:39 -
HTTP - Stream lesen
Von rauchmelder im Forum .NET ArchivAntworten: 5Letzter Beitrag: 25.03.05, 17:30 -
HTTP Request schicken, aber keine Antwort erhalten
Von MD1978 im Forum .NET ArchivAntworten: 20Letzter Beitrag: 29.12.04, 08:07 -
Frage - Antwort Spielchen
Von mouCe im Forum PHPAntworten: 5Letzter Beitrag: 18.05.04, 21:58





Zitieren
Login





