web-dev-qa-db-fra.com

Quelle est la syntaxe de commande wget correcte pour HTTPS avec nom d'utilisateur et mot de passe?

Je voudrais télécharger un fichier à distance avec cette URL en utilisant wget:

https://test.mydomain.com/files/myfile.Zip

Le site test.mydomain.com nécessite une connexion. J'aimerais télécharger ce fichier sur un autre serveur à l'aide de cette commande, mais cela ne fonctionne pas (le fichier n'est pas complètement téléchargé):

wget --user=myusername --password=mypassword https://test.mydomain.com/files/myfile.Zip

Si mon nom d'utilisateur est myusername et mon mot de passe est mypassword, quelle serait la syntaxe wget correcte?

Voici les messages de retour après la saisie de la commande ci-dessus:

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'

Est-ce que je manque quelque chose? S'il vous plaît aider. Merci.

32
Emerson Maningo

En spécifiant les options --user et --ask-password, wget demandera les informations d'identification. Voici un exemple. Modifiez le nom d'utilisateur et le lien de téléchargement en fonction de vos besoins.

wget --user=username --ask-password https://xyz.com/changelog-6.40.txt
59
thomasbabuj

J'ai constaté que wget ne s'authentifiait pas correctement auprès de certains serveurs, peut-être parce qu'il est uniquement compatible HTTP 1.0. Dans de tels cas, curl (conforme à HTTP 1.1) fait généralement l'affaire:

curl -o <filename-to-save-as> -u <username>:<password> <url>

18
David Siegal

Ce n'est pas que votre fichier est partiellement téléchargé. Il échoue l'authentification et télécharge par exemple "index.html" mais le nomme myfile.Zip (puisque c'est ce que vous voulez télécharger).

J'ai suivi le lien suggéré par @thomasbabuj et l'ai compris par la suite.

Vous devriez essayer d'ajouter --auth-no-challenge et comme @thomasbabuj a suggéré de remplacer votre mot de passe

C'est à dire

wget --auth-no-challenge --user=myusername --ask-password https://test.mydomain.com/files/myfile.Zip
8
niCk cAMel