2

Мне нужно скачать файл с веб-сайта, который имеет URL-адрес в следующем формате:

http://www.server.com/downloads/1234/

Это перенаправляет в файл .zip, который должен быть сохранен. Существует также необходимость аутентификации на основе имени пользователя и пароля.

Я попытался использовать wget , curl и lynx без удачи.

ОБНОВИТЬ:

  • wget не работает с перенаправлением. Он просто загружает веб-страницу вместо zip-файла.
  • curl выдает ошибку «Максимальное перенаправление превышено> 50»
  • lynx также дает ту же ошибку.

1 ответ1

3

Wget поддерживает перенаправление, это работает?

wget --user=USER --password=PASS --max-redirect URL

Обратите внимание , что если сайт не осуществляет проверку подлинности HTTP (требуется отправка формы через GET или POST), то вам нужно настроить немного больше работы (учитывая мало информации вы даете о сайте , где файл, хороший ответ сложно дать)

wget --post-file=datafile --keep-session-cookies --max-redirect URL

и ваш файл datafile может выглядеть

username=USER
password=PASS

где username и password должны быть именем отправляемых полей формы.

ПРИМЕЧАНИЕ: сайт должен перенаправлять на сам Zip-файл, а не на какую-либо другую страницу, где есть ссылка на Zip-файл. Если это так, вам нужно написать скрипт синтаксического анализа, потому что ни Curl, ни Wget вам не помогут. Это инструменты для извлечения контента из заданного URL-адреса, они не предназначены для "угадывания" того, что вы хотите, чтобы они извлекали; они просто скачивают то, что отправляет сервер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .