![]() |
Problem mit idHTTP1.Get (passwortgeschützte Seite)
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:
Und der Fehler, der auftritt ist: HTTP/1.1 401 Authorization Required
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; 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 |
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
schreib doch username und password in die url.
Code:
Gruß
http://username:password@http://www.webseite.tld
tr909 |
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
Bist du sicher das die parameter per GET und nicht per POST erwartet werden?
|
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
Danke für deine Antwort!
Zitat:
|
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
Zitat:
Mit GET-Variablen haben wir (das machen ein Freund (er macht PHP) und ich (ich mach das Programm dazu)) auch gemacht, sodass alles in der URL übergeben wurde. ...update.php?user=Benutzer&pw=Passwort&id=12345 Doch es wird die gesamte Url mit geloggt, also auch Benutzername und Passwort. Deshalb wollten wir es so machen. Wie kann man denn noch die Parameter übergeben? Bei idHTTP1.Post(url, Strings) ist es klar. Doch das geht ja so nicht bei GET. |
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
Dann ändere)oder dein freund) das Formular doch in POST
|
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
Füge hinter
Code:
noch
idHTTP1.Request.Username:='Benutzername';
idHTTP1.Request.Password:='Passwort';
Code:
ein. Dann sollte es gehen.
idhttp1.Request.BasicAuthentication := true;
Gruß tr909 p.s.: Die Eingabe in Form von ![]() |
Re: Problem mit idHTTP1.Get (passwortgeschützte Seite)
Genau das war es!
Danke tr909!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:45 Uhr. |
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