Hallo,
ich möchte mit idHTTP eine Datei mit reinem Textinhalt von einem Serverherunterladen. Auf dem Server sind mehrere Dateien, mit dem Format *5-stellige-Zahl*.sav (die 5-stellige-Zahl wird id genannt).
Das Programm, das ich schreibe, soll eine GET-Anweisung an ein PHP-Script schicken, wobei die id übergeben wird, sodass das PHP-Script weiß, von welcher Datei der Inhalt zurückgegeben werden soll.
Soweit, so gut. Das funktioniert auch noch.
Jetzt kommt aber mein Problem: das PHP-Script hat durch htaccess eingeschränkte Zugriffsrechte. Ruft man das PHP-Script über einen normalen Browser auf, erscheint die vom Browser standardmäßige Eingabeaufforderung des Benutzernamens und des Passwortes, um auf das Script zugreifen zukönnen.
Also muss das Programm auch den Benutzernamen und das Passwort übergeben.
Im Internet (ich glaube, das war sogar hier im Forum), habe ich folgendes gefunden, wie man das Problem lösen könnte:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var id :
string;
begin
id:=Edit1.Text;
if (TryStrToInt(id))
and (Length(id)=5)
then
begin
idHTTP1.Request.Username:='
Benutzername';
idHTTP1.Request.Password:='
Passwort';
try
begin
Memo1.Text:=idHTTP1.Get('
http://www.***.de/update.php?id=' + id);
MessageDlg('
Die Daten wurden erfolgreich von dem Server heruntergeladen.', mtInformation, [mbOk], 0);
end;
except
on E:
Exception do
MessageDlg('
Es ist der folgende Fehler beim Herunterladen der Daten aufgetreten: ' + E.
Message, mtError, [mbOk], 0);
end;
end;
end;
Und der Fehler, der auftritt ist: HTTP/1.1 401 Authorization Required
Mit anderen Worten, es wurden nicht die richtigen, oder keine Zugangsdaten angegeben.
Wo ist jetzt der Fehler in meinem Programm?
Ich hoffe ihr könnt mir helfen.
Danke schonmal!
MfG, Matthias