Ich möchte eine Datei mit dieser URL mit wget aus der Ferne herunterladen:
https://test.mydomain.com/files/myfile.zip
Die Website test.mydomain.com erfordert eine Anmeldung. Ich möchte diese Datei mit diesem Befehl von meinem anderen Server herunterladen, aber es funktioniert nicht (die Datei wird nicht vollständig heruntergeladen):
wget --user=myusername --password=mypassword https://test.mydomain.com/files/myfile.zip
Wie lautet die korrekte wget-Syntax, wenn mein Benutzername myusername und mein Passwort mypassword ist?
Nach der Eingabe des obigen Befehls werden die folgenden Meldungen zurückgegeben:
Resolving test.mydomain.com (test.mydomain.com)... 123.456.789
Connecting to test.mydomain.com (test.mydomain.com)|123.456.789|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://test.mydomain.com/login/unauthorized [following]
--2013-01-30 02:01:32-- https://test.mydomain.com/login/unauthorized
Reusing existing connection to test.mydomain.com:443.
HTTP request sent, awaiting response... 302 Found
Location: https://test.mydomain.com/login [following]
--2013-01-30 02:01:32-- https://test.mydomain.com/login
Reusing existing connection to test.mydomain.com:443.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `myfile.zip'
Habe ich etwas übersehen? Bitte helfen Sie mir. Danke!
Durch die Angabe der Optionen --user und --ask-password fragt wget nach den Anmeldedaten. Unten sehen Sie ein Beispiel. Ändern Sie den Benutzernamen und den Download-Link nach Ihren Bedürfnissen.
wget --user=username --ask-password https://xyz.com/changelog-6.40.txt
Ich habe festgestellt, dass sich wget bei einigen Servern nicht richtig authentifiziert, vielleicht weil es nur HTTP 1.0-konform ist. In solchen Fällen ist curl (das HTTP 1.1-kompatibel ist) in der Regel die Lösung:
curl -o <filename-to-save-as> -u <username>:<password> <url>
Es ist nicht so, dass Ihre Datei teilweise heruntergeladen wird. Es schlägt die Authentifizierung fehl und lädt daher z. B. index.html herunter, nennt sie aber myfile.zip (da Sie diese Datei herunterladen möchten).
Ich bin dem von @thomasbabuj vorgeschlagenen Link gefolgt und habe es schließlich herausgefunden.
Sie sollten versuchen, --auth-no-challenge
hinzuzufügen und wie @thomasbabuj vorgeschlagen hat, Ihren Passworteintrag zu ersetzen
d.h.
wget --auth-no-challenge --user=myusername --ask-password https://test.mydomain.com/files/myfile.zip