Использование cURL для загрузки файла, но с предварительным входом в систему

Если эти приложения могут дать сбой и их потребуется перезапустить, или если их когда-либо потребуется остановить или перезапустить по отдельности, рассмотрите возможность проверки supervisorctl .

Вы можете запустить supervisorctlиз systemd в качестве первоклассной службы, а затем иметь возможность запускать любое количество зависимых процессов и управлять ими, предоставляя вам единое место для запуска или остановки ваших служб (supervisorctl stop all,supervisorctl start all)и аналогичные возможности аудита для systemd(supervisorctl status myapp).

Документы для supervisorctl довольно хороши, и похоже, что ваш вариант использования может быть таким, что простого сценария оболочки, такого как вы опубликовали, может быть недостаточно, чтобы выполнить это без значительной головной боли.

1
24.01.2021, 19:06
2 ответа

Скорее всего, вам нужно хранить файлы cookie. Ответ @jsotola подходит только для базовой аутентификации, которая становится все менее распространенной. И вы сказали, что это POST-запрос.

Обратите внимание на опции -bи -c. Сначала отправьте запрос curl, чтобы войти в систему и сохранить файлы cookie, используя вышеупомянутые параметры. Затем повторите вызов, чтобы загрузить файл, например:

curl -b /tmp/cookies -c /tmp/cookies <url>...

Смысл использования файлов cookie заключается в хранении токенов аутентификации, без которых каждый ваш вызов не зависит от предыдущих запросов. Конечно, возможно, что веб-сайт использует Javascript/Ajax, и curl не всегда будет работать.

Бонус :Если вы попробуете использовать такой браузер, как Firefox, инструменты веб-разработчика могут даже сгенерировать для вас запросы Curl.

enter image description here

0
18.03.2021, 22:34

Попробуйте один из них.

curl http://name:passwd@machine.domain/full/path/to/file
curl -u name:passwd http://machine.domain/full/path/to/file
1
18.03.2021, 22:34

Теги

Похожие вопросы