WGET 401 Несанкционированный

Я пытаюсь использовать командный файл с WGET для загрузки публичного файла FCC здесь

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

Когда я запускаю командный файл с параметрами

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

Сбой при ошибке HTTP 401 невозможен. Я могу повторить в этот момент, и он продолжает терпеть неудачу. Однако я заметил, что если я открою IE, начните загрузку и отмените, когда будет предложено сохранить, я могу перезапустить командный файл, и он отлично работает!

Вот мой подробный ответ сервера из журнала

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

Вот журнал, выполнив мою небольшую процедуру 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'

Любая помощь приветствуется!

Ответ 1

Если веб-сайт имеет просто установку htpassword, вы можете попробовать:

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

Ответ 2

В вашей сети есть защищенный веб-шлюз Blue Coat, о чем свидетельствует строка в ответе:

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

Похоже, он хочет, чтобы вы аутентифицировались, предположительно, с вашими учетными данными домена. Попробуйте передать их с помощью --http-user и --http-passwd.

Ответ 3

Я использовал --auth-no-challenge, и точная ошибка решена.

Ответ 4

У меня была аналогичная проблема с сайтом на основе xwiki. после нескольких попыток я нашел комбинацию, которая работала для меня просто отлично.

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

Я думаю, что ключ был --auth-no-challenge

Ответ 5

Я пришел сюда, пытаясь выяснить, почему wget давал 401 несанкционированное сообщение, когда в другой системе проблема не возникала.

После установки более поздней версии wget из исходного кода (двоичный файл не был доступен в моем дистрибутиве) это сработало. Я не могу объяснить, почему, за исключением того, что это должна быть какая-то ошибка, поэтому, если ни одно из указанных выше не устраняет вашу проблему, подумайте об обновлении wget.

Ответ 6

Попробуйте установить строку пользовательского агента с помощью wget - например.

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

вполне возможно, чтобы сайт отклонил запросы от определенных пользовательских агентов, особенно если они считают, что они обходят "обычные" маршруты к информации (то есть через веб-страницы).

Хотя это не объясняет вашу проблему, это хорошая идея. Возможно, сайт реализует механизм, при котором при просмотре с помощью "известного" браузера (например, IE) он затем кэширует ваш IP как "безопасный", а затем позволяет любому пользовательскому агенту с вашего IP-адреса загружать что-либо:)

Ответ 7

Попробуйте использовать это расширение для Firefox. Он генерирует команду wget или curl которую можно скопировать и запустить из bash.

Ответ 8

У меня тоже проблемы с wget. Я могу загрузить изображение с камеры, используя http://user: pass @ip: port/camera-image.cgi

но когда я помещаю точную строку в wget, я получаю 401 несанкционированную, а затем 500 внутреннюю ошибку сервера.

Есть идеи?