web-dev-qa-db-fra.com

WGET 401 non autorisé

J'essaie d'utiliser un fichier de commandes avec WGET pour télécharger le fichier FCC public à partir d'ici.

http://wireless.fcc.gov/uls/data/complete/l_micro.Zip

Quand j'exécute initialement le fichier de commandes avec des paramètres

wget --server-response -owget.log http://wireless.fcc.gov/uls/data/complete/l_micro.Zip 

Il échoue avec une erreur non autorisée HTTP 401. Je peux réessayer à ce stade et il continue d'échouer. Cependant, j'ai remarqué que si j'ouvre IE, démarre un téléchargement et annule lorsque je suis invité à enregistrer, je peux réexécuter le fichier de commandes et il s'exécute parfaitement!

Voici ma réponse détaillée du serveur à partir du journal

--2012-02-06 14:32:24--  http://wireless.fcc.gov/uls/data/complete/l_micro.Zip
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 302 Found
  Location: REMOVED - appears to have my IP
  Cache-Control: no-cache
  Pragma: no-cache
  Content-Type: text/html; charset=utf-8
  Connection: close
  Content-Length: 513
Location: REMOVED [following]
--2012-02-06 14:32:24--  REMOVED
Resolving REMOVED... 192.168.2.11
Connecting to REMOVED|192.168.2.11|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 401 Unauthorized
  Cache-Control: no-cache
  Pragma: no-cache
  WWW-Authenticate: NTLM
  WWW-Authenticate: BASIC realm="AD_BCAAA"
  Content-Type: text/html; charset=utf-8
  Proxy-Connection: close
  Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/
  Connection: close
  Content-Length: 575
Authorization failed.

Voici le journal après avoir exécuté ma petite procédure IE

--2012-02-08 15:52:43--  http://wireless.fcc.gov/uls/data/complete/l_micro.Zip
Resolving wireless.fcc.gov (wireless.fcc.gov)... 192.104.54.158
Connecting to wireless.fcc.gov (wireless.fcc.gov)|192.104.54.158|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Server: Sun-Java-System-Web-Server/7.0
  Date: Fri, 27 Jan 2012 18:37:51 GMT
  Content-type: application/Zip
  Last-modified: Sun, 22 Jan 2012 11:18:09 GMT
  Etag: "46fa95c-4f1bf071"
  Accept-ranges: bytes
  Content-length: 74426716
  Connection: Keep-Alive
  Age: 1045014
Length: 74426716 (71M) [application/Zip]
Saving to: `l_micro.Zip'

Toute aide est appréciée! 

10
user1192537

Si le site Web a simplement une configuration htpassword, vous pouvez essayer:

wget --user=admin --ask-password https://www.yourwebsite.com/file.Zip
22
Federico Giorgi

Vous avez une passerelle Web Blue Coat secure sur votre réseau, comme en témoigne la ligne dans la réponse:

Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/

Il semble que vous souhaitiez vous authentifier, probablement avec vos informations d'identification de domaine. Essayez de les transmettre avec --http-user et --http-passwd.

9
Edward Thomson

J'ai utilisé --auth-no-challenge et l'erreur exacte a été résolue.

6
Omid Ataollahi

Je suis venu ici pour essayer de comprendre pourquoi wget envoyait un message non autorisé 401 alors que le problème ne se produisait pas sur un autre système. 

Après avoir installé une version ultérieure de wget à partir du source (le binaire n’était pas disponible dans ma distribution), cela fonctionnait. Je ne peux pas expliquer pourquoi, sauf que cela doit être une sorte de bogue, donc si aucune des solutions ci-dessus ne résout votre problème, envisagez de mettre à jour wget.

1
user5802444

J'ai eu un problème similaire avec le site basé sur xwiki. après plusieurs tentatives, j'ai trouvé une combinaison qui a bien fonctionné pour moi 

wget --no-check-certificate --auth-no-challenge -k -nc -p -l 1 -r https: // utilisateur: [email protected]

Je pense que la clé était --auth-no-challenge

1
Valeriy

Essayez de définir une chaîne d’agent d’utilisateur avec wget - par exemple. 

--user-agent=Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)  

il est tout à fait possible pour un site de rejeter les demandes de certains agents utilisateurs, en particulier s’ils cherchent à contourner les routes "habituelles" vers l’information (par exemple, via des pages Web).

Bien que cela n'explique pas votre problème, c'est quand même une bonne idée. Peut-être que le site implémente un mécanisme grâce auquel, lorsque vous naviguez avec un navigateur "connu" (par exemple, IE), il met ensuite votre adresse IP en mémoire cache comme étant "sûre", puis permet à tout agent utilisateur de votre adresse IP de tout télécharger :)

0
robf

Essayez d’utiliser this extension pour firefox. Il génère une commande wget ou curl qui peut être copiée et exécutée à partir de bash.

0
Vasantha Ganesh K