Entwickler-Ecke

Internet / Netzwerk - Wünsche zu wunschbox.cc per Delphi-Programm schicken


florida - Fr 29.07.11 18:32
Titel: Wünsche zu wunschbox.cc per Delphi-Programm schicken
Hallo liebe Community,

ich bin bei wunschbox.cc angemeldet und habe dort ein Gästebuch. Kann ich mit einem Delphi-Programm Einträge zu diesem Gästebuch schicken oder brauche ich da PHP?


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Fr 29.07.2011 um 19:36


glotzer - Fr 29.07.11 18:43

ja kannst du.


florida - Fr 29.07.11 19:10

user profile iconglotzer hat folgendes geschrieben Zum zitierten Posting springen:
ja kannst du.


Und wie?


glotzer - Fr 29.07.11 19:20

mit delphi.

such mal nach "indys" da findest du alles was du brauchst


Gausi - Fr 29.07.11 19:38

Um es etwas genauer zu sagen: Das Gästebuch-Formular wird ja auch nichts anderes machen, als per POST die Daten an das dahinterliegende Script zu schicken. Und genau dieses "Posten" kann man auch mit Delphi machen - dafür gibt es die Indy-Komponenten. Da nimmst du dann die Indy-HttpClient-Komponente, packst die zu postenden Daten in eine Liste oder Stream und rufst dann die Methode Idhttp1.Post mit den passenden Parametern auf. :)


florida - Sa 30.07.11 08:30

Ich habe es jetzt so gemacht.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var
  data: TStringList;
  s: String;
begin
  data := TStringList.Create;
  try
    data.Values['name'] := 'NameProbe';
    data.Values['song'] := 'SongProbe';
    data.Values['gruss'] := 'GrussProbe';
    try
      s := IdHTTP1.Post(
        'http://wunschbox.cc/wunschbox?id=x;uid=1436', data);
      Memo1.Lines.Add(s);
    except
      on E: Exception do
        ShowMessage('Fehler: ' + E.Message);
    end;
  finally
    data.Free;
  end;


In diesem Fall kommt aber der Runtime-Error "Forbidden".


Andreas L. - Sa 30.07.11 09:26

Du hast ein & in der Parameterliste vergessen:

Quelltext
1:
http://wunschbox.cc/wunschbox?id=x&uid=1436                    


Hast du schon mal den Netzwerkverkehr zum Beispiel mit Firebug oder Wireshark mitgeschnitten um zu sehen was die Seite so alles überträgt?


florida - Sa 30.07.11 13:15

Gut, habe mich gerade eben nochmal damit beschäftigt und habe es nun hinbekommen.


Delphi-Quelltext
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:
var
  data: TStringList;
  s: String;
begin
  data := TStringList.Create;
  try
    data.Values['name'] := NameEdit.Text;
    data.Values['song'] := SongEdit.Text;
    data.Values['gruss'] := GreetsEdit.Text;
    data.Values['send'] := 'click';
    try
      IdHTTP.Request.UserAgent :=
        'Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 6.1)';
      s := IdHTTP.Post(
        'http://wunschbox.cc/wunschbox?id=x&uid=1436', data);
      LogMemo.Clear;
      LogMemo.Lines.Add(s);
      LogMemo.Lines.SaveToFile(ExtractFilePath(Application.ExeName)
          + 'probe.html');
    except
      on E: Exception do
        ShowMessage('Fehler: ' + E.Message);
    end;
  finally
    data.Free;
  end;
end;