2012-02-08 27 views
9

Estoy intentando utilizar un archivo por lotes con wget para descargar el archivo de la FCC pública de aquíWGET 401 no autorizado

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

Cuando inicialmente ejecutar el archivo por lotes con los parámetros

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

Falla con un error HTTP 401 no autorizado. Puedo volver a intentarlo en este momento y sigue fallando. Sin embargo, noté que si abría IE, comenzaba una descarga y cancelaba cuando se me solicitaba que lo guardara, ¡puedo volver a ejecutar el archivo por lotes y se ejecuta perfectamente!

aquí está mi respuesta del servidor detallada del registro de

--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. 

Aquí está el registro después de hacer mi pequeña procedimiento de IE y conseguir que funcione

--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' 

Cualquier ayuda se agradece!

+0

Tu comando funciona sin problemas para mí ... – jglouie

+0

Intenté 'wget http: // wireless.fcc.gov/uls/data/complete/l_micro.zip' y obtuve un archivo' l_micro.zip' de '74693506' bytes con sha1sum de '1f8393bf6231bfa9689ec91cab6a660244f35605'. –

+0

¿Tiene un proxy transparente en su red? ¿Puedes ejecutar wireshark o violinista en tu sesión IE para ver qué está haciendo diferente? –

Respuesta

0

Intente configurar una cadena de agente de usuario con wget - p. Ej.

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

Es totalmente factible para un sitio para rechazar solicitudes de ciertos agentes de usuario, en particular si se ven eluden los rutas "habituales" a la información (es decir, a través de las páginas web).

Aunque esto no explica su problema, de todos modos es una buena idea. Tal vez el sitio implemente un mecanismo por el cual cuando navegas con un navegador "conocido" (por ejemplo, IE) guarda en caché tu IP como "seguro" y luego permite que cualquier agente de usuario desde tu IP descargue algo :)

+0

Intenté su sugerencia y también usé mi propia AU de mi navegador y no sirvió. Parece estar encendido y apagado, cuando entré en mi computadora esta mañana funcionó bien, independientemente de las configuraciones y recientemente dejé de funcionar. ¿Podría esto ser un problema de firewall o es algo diferente? – user1192537

9

Tienes un Blue Coat puerta de enlace web segura de la red, como se evidencia por la línea en la respuesta:

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

parece que quiere que se autentique, presumiblemente con sus credenciales de dominio. Intente pasarlos con --http-user y --http-passwd.

17

Si el sitio tiene simplemente una configuración htpassword, puede intentar:

wget --user=admin --ask-password https://www.yourwebsite.com/file.zip 
+1

+1 Esto funciona muy bien cuando obtienes 401 no autorizado. ¡Gracias! – styfle

1

tuve un problema similar con el sitio basado xwiki. después de varios intentos he encontrado alguna combinación que me funcionó muy bien

wget --no-check-certificado---auth no impugnación -k -NC -p -l -r 1 https://user:[email protected]

Creo que la clave fue --auth-no-challenge

5

He usado --auth-no-challenge y el error exacto se resuelve.

+0

Perfecto ... La API que estaba llamando no enviaba el desafío de autenticación. [Esta opción] (https://www.gnu.org/software/wget/manual/html_node/HTTP-Options.html) obliga a wget a enviar siempre el encabezado Authorization. – mlathe

0

Vine aquí tratando de averiguar por qué wget estaba dando un mensaje 401 no autorizado cuando en otro sistema el problema no se produjo.

Después de instalar una versión posterior de wget desde la fuente (el binario no estaba disponible en mi distribución) funcionó.No puedo explicar por qué, excepto que debe ser algún tipo de error, por lo que si ninguno de los anteriores soluciona el problema, considere actualizar wget.

Cuestiones relacionadas