Entwickler-Ecke

Internet / Netzwerk - host erkennt benutzer/passwort nicht


matt1 - Do 13.07.06 03:53
Titel: host erkennt benutzer/passwort nicht
Hallo,
ich muss eine mitglieder-liste von einer website in delphi laden. ich habe dazu eine gültige benutzer-ID und password. Mit dem TNMHTTP Komponenten geh ich auf die Website wie folgt:

NMHTTP1.HeaderInfo.UserID := 'xxxxxx' ;
NMHTTP1.HeaderInfo.Password := 'yyyyyy' ;
NMHTTP1.Get('http://xxx.xxx.com/index.cgi?action=members');
DBMemo1.Text := NMHTTP1.Body;

Leider komme ich nicht auf die Seite, auf die ich mit dem Browser käme sofern Status = eingeloggt. Der Host schickt mir die Login-Seite. Warum??

Vielen Dank schonmal für Tipps!
Matt


mkinzler - Do 13.07.06 06:28

Wie weren die daten erwartet (GET oder POST)?


matt1 - Sa 15.07.06 02:45

ich hab beides probiert. GET siehe oben und POST somit:

NMHTTP1.OutputFileMode := TRUE;
NMHTTP1.Post('http://xxx.com/index.cgi?action=members', 'D:\ParseMembers\pass.txt') ;

der file pass.txt ist ein einfacher zweizeiler:

ID=xxxxxx
Password=yyyyyy

vielen dank!
matt


mkinzler - Sa 15.07.06 07:17

Die Frage war ja, wie die annehmene PHP-Seite die Daten erwartet.
Ich vermute per POST. Bei Get wären die Parameter ja in der Url-Codiert:
http://xxx.xxx.com/index.cgi?action=members&ID=xxxxx&Password=yyyyy

Versuchs mal so (oder ähnlich)

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
    postData: TStrings;
...
    postData := TStringList.Create;
    postData.Add('ID=xxxxx');
    postData.Add('Password=yyyyy');
    NMHTTP1.Post('http://xxx.com/index.cgi?action=members', postData);


Getippt und nicht getestet.