Ответ 1
Если веб-сайт имеет просто установку htpassword, вы можете попробовать:
wget --user=admin --ask-password https://www.yourwebsite.com/file.zip
Я пытаюсь использовать командный файл с 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'
Любая помощь приветствуется!
Если веб-сайт имеет просто установку htpassword, вы можете попробовать:
wget --user=admin --ask-password https://www.yourwebsite.com/file.zip
В вашей сети есть защищенный веб-шлюз Blue Coat, о чем свидетельствует строка в ответе:
Set-Cookie: BCSI-CS-8ECFB6B4AA642EF0=2; Path=/
Похоже, он хочет, чтобы вы аутентифицировались, предположительно, с вашими учетными данными домена. Попробуйте передать их с помощью --http-user
и --http-passwd
.
Я использовал --auth-no-challenge
, и точная ошибка решена.
У меня была аналогичная проблема с сайтом на основе xwiki. после нескольких попыток я нашел комбинацию, которая работала для меня просто отлично.
wget --no-check-certificate --auth-no-challenge -k -nc -p -l 1 -r https://user: [email protected]
Я думаю, что ключ был --auth-no-challenge
Я пришел сюда, пытаясь выяснить, почему wget давал 401 несанкционированное сообщение, когда в другой системе проблема не возникала.
После установки более поздней версии wget из исходного кода (двоичный файл не был доступен в моем дистрибутиве) это сработало. Я не могу объяснить, почему, за исключением того, что это должна быть какая-то ошибка, поэтому, если ни одно из указанных выше не устраняет вашу проблему, подумайте об обновлении wget.
Попробуйте установить строку пользовательского агента с помощью 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-адреса загружать что-либо:)
Попробуйте использовать это расширение для Firefox. Он генерирует команду wget
или curl
которую можно скопировать и запустить из bash.
У меня тоже проблемы с wget. Я могу загрузить изображение с камеры, используя http://user: pass @ip: port/camera-image.cgi
но когда я помещаю точную строку в wget, я получаю 401 несанкционированную, а затем 500 внутреннюю ошибку сервера.
Есть идеи?