
Мне нужно скачать определенный файл с https://file_path
. Вот команда curl, которую я для этого использую:
curl --user user:password "https://file_path?raw" > location
- Я хочу загрузить реальное содержимое файла по указанному выше адресу "file_path", но почему-то curl возвращает только содержимое HTML. Как я могу это исправить?
- Когда я запускаю эту команду из оболочки, она запускается, как указано выше, для загрузки HTML-контента. Но когда я запускаю ее из скрипта bash, она ничего не загружает и возвращает пустой файл. Почему она ведет себя по-разному в зависимости от того, откуда она запускается?
решение1
curl
изменяет то, что он отправляет в stdout и stderr, в зависимости от того, передаете ли вы его вывод, какую опцию используете и т. д. Вам нужно будет разместить свой скрипт, чтобы точно узнать, почему это происходит здесь. Лучший способ принудительно перенаправить содержимое того, что вы загружаете, в определенный файл — использовать опцию -o
:
curl --user user:password -o output_file "https://file_path?raw"
В зависимости от того, что вы собираетесь делать со своим скриптом, вы также можете использовать -s
опцию подавления процесса загрузки.