Ich versuche auf eine geschützte Datei zuzugreifen. Der Server verwendet die Digest-Authentifizierung - was ich anhand der ausgedruckten Antwort sehen kann. Hier ist der Beispielcode:Warum funktionieren meine LWP :: UserAgent-Anmeldeinformationen nicht?
use LWP;
use strict;
my $url = 'http://somesite.com/aa/bb/cc.html';
my $username = 'scott';
my $password = 'tiger';
my $browser = LWP::UserAgent->new('Mozilla');
$browser->credentials("http://somesite.com:80","realm-name",$username=>$password);
my $response=$browser->get($url);
print $response->content;
Namen des Reiches ich es aus dem Popup-Fenster habe ich bekommen, wenn ich versuche, aus dem Browser auf diese Ressource zugreifen. Derselbe Benutzername und das gleiche Kennwort funktionieren im Browser sehr gut und ich kann den Inhalt sehen, aber wenn ich das obige Skript ausführe, heißt es immer 401 Authorization required
.
Wie funktioniert LWP?
Muss ich LWP bitten, MD5-Hash (Digest) des Benutzernamens und des Passworts zu senden, oder ist es intern wie geprüft, welche Authentifizierung zu verwenden ist und sendet die entsprechende (Basic/Digest) Art des Sendens von Anmeldeinformationen. Meine Fragen sind
- Wie kann ich LWP so einstellen, dass es Digest von Benutzername und Passwort sendet?
- Was passiert, wenn der Server Windows NTLM-Authentifizierungsprotokoll verwendet? Wie soll ich in einer solchen Situation vorgehen?
jede schnelle Hilfe wird sehr geschätzt!
Versuchen zu entfernen Portnummer von '" http durch die Installation gelöst://somesite.com:80 "'. –
Es ist nicht Port, aber http: // sollte entfernt werden - danke Ivan – Ram