CUrl сохранить куки и выполнить запрос в одной команде - PullRequest
0 голосов
/ 14 октября 2019

Мне нужно загрузить 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 по умолчанию, прежде чемостановка)

...