it-roy-ru.com

Ubuntu: использование curl для загрузки изображения

Я хочу загрузить изображение, доступное по этой ссылке: https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png, в мою локальную систему. Теперь я знаю, что команду curl можно использовать для загрузки удаленных файлов через терминал. Итак, я ввел следующее в моем терминале, чтобы загрузить изображение в мою локальную систему:

curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

Однако, похоже, это не работает, поэтому, очевидно, есть другой способ загрузки изображений из Интернета с использованием curl. Как правильно загрузить изображения с помощью этой команды?

40
Manas Chaturvedi

curl без каких-либо опций выполнит запрос GET. Он просто вернет данные из указанного URI. Не извлекайте сам файл на ваш локальный компьютер.

Когда ты это сделаешь,

$ curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

Вы получите двоичные данные:

                   |�>�$! <R�[email protected]*�Pm�Z��jU֖��[email protected]�
��{X\� K���>0c�yF[i�}4�!�V̧�H_�)nO#�;I��vg^_ ��-Hm$$N0.
���%Y[�L�U3�_^9��P�T�0'u8�l�4 ...

Чтобы сохранить это, вы можете использовать:

$ curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png > image.png

хранить эти необработанные данные изображения внутри файла.

Более простой способ, это просто использовать wget.

$ wget https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png
$ ls
.
..
Apple-touch-icon-144x144-precomposed.png
68
sircapsalot

Для тех, кто не имеет и не хочет устанавливать wget, curl -O (заглавная «o», а не ноль) будет делать то же самое, что и wget. Например. на моем старом нетбуке нет wget, и мне нужна установка 2,68 МБ, которая мне не нужна.

curl -O https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png
17
jwh

Если вы хотите сохранить оригинальное имя - используйте заглавные буквы -O

curl -O https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

Если вы хотите сохранить удаленный файл под другим именем - используйте строчные буквы -o

curl -o myPic.png https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

4
daGo

Создайте новый файл с именем files.txt и вставьте URL-адреса по одному на строку. Затем выполните следующую команду.

xargs -n 1 curl -O < files.txt

источник: https://www.abeautifulsite.net/downloading-a-list-of-urls-automatics

3
korchix

Для тех, кто получил permission denied для сохранения операции, вот команда, которая работала для меня:

$ curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png --output py.png
0
George Garchagudashvili