Мне нужно загрузить ZIP-файл с сервера, используя curl из командной строки (я не могу использовать wget), сервер имеет авторизацию при входе в систему и некоторые перенаправления, используя строку:
curl -u user:pass --location-trusted --max-redirs 15 filelink.zip -o file.zip
Iможет успешно зайти на сайт, но запрос перейдет в бесконечный цикл перенаправления.
Единственный способ найти загрузку файла - это разделить команду curl на две отдельные строки, выполнив:
curl -u user:pass -c cookies.txt --location-trusted --max-redirs 15 filelink.zip -o file.zip
, который перейдет в бесконечные перенаправления и затем использует:
curl -b cookies.txt --location-trusted --max-redirs 15 filelink.zip -o file.zip
(я не совсем уверен, нужен ли здесь --location-trusted
)
Я также пытался сделать:
curl -u user:pass -c cookies.txt -b cookies.txt --location-trusted --max-redirs 15 filelink.zip -o file.zip
Но это дает мне ошибку: Invalid Argument: Only one auth mechanism allowed;
.
Мой вопрос: есть ли способ объединить эти две команды в одну вместо того, чтобы иметь первую? "«потерпеть неудачу», достигнув предела перенаправления, а затем вызвать второй файл с сохраненными файлами cookie?
(--max-redirs 15
- просто остановить запрос раньше, не дожидаясь, пока curl достигнет предела переадресации 50 по умолчанию, прежде чемостановка)