Я пытаюсь загрузить файл с, wget
и curl
он отклонен с ошибкой 403 (запрещено).
Я могу просмотреть файл с помощью веб-браузера на том же компьютере.
Я пытаюсь снова с пользовательским агентом моего браузера, полученным http://www.whatsmyuseragent.com . Я делаю это:
wget -U 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
а также
curl -A 'Mozilla/5.0 (X11; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0' http://...
но это все еще запрещено. Какие другие причины , там может быть за 403, и каким образом я могу изменяю wget
и curl
команды для их преодоления?
(речь идет не о возможности получить файл - я знаю, что могу просто сохранить его из браузера; речь идет о понимании того, почему инструменты командной строки работают по-разному)
Обновить
Спасибо всем за прекрасные ответы на этот вопрос. Конкретная проблема, с которой я столкнулся, заключалась в том, что сервер проверял реферер. Добавив это в командную строку, я мог получить файл, используя curl
и wget
.
Сервер, который проверил реферер, отскочил через 302 в другое место, которое вообще не выполняло никаких проверок, поэтому curl
или wget
этот сайт работал нормально.
Если кому-то интересно, это произошло потому, что я читал эту страницу, чтобы узнать о встроенном CSS, и пытался взглянуть на CSS сайта для примера. Фактический URL я получаю проблемы с было это и curl
я закончил вверх с
curl -L -H 'Referer: http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
и виджет
wget --referer='http://css-tricks.com/forums/topic/font-face-in-base64-is-cross-browser-compatible/' http://cloud.typography.com/610186/691184/css/fonts.css
Очень интересно.