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

23

Я хочу загрузить изображение, доступное по этой ссылке: 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 . Каков правильный способ загрузки изображений с помощью этой команды?

    
задан Manas Chaturvedi 01.09.2015 в 13:44
источник
  • Однако, похоже, это не работает, что у вас есть в качестве вывода? –  oliverpool 01.09.2015 в 13:48
  • см. мой ответ за то, что будет выводить –  sircapsalot 01.09.2015 в 13:50

3 ответа

38

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
    
ответ дан sircapsalot 01.09.2015 в 13:48
  • при загрузке изображений с Google Drive они не будут открываться, как обычно. Но код (curl), который вы дали, хорошо работает, является ли это мерой безопасности Google или существует другой способ? –  Kasun Siyambalapitiya 18.11.2016 в 09:08
10

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

    
ответ дан jwh 23.06.2016 в 04:08
  • Пожалуйста, следуйте URL-адресу, который будет полезен для повышения качества вашего контента –  Willie Cheng 23.06.2016 в 04:16
  • "- это установка 2.68 MB, которая мне не нужна". Теперь это бережно относится к вашему хранилищу. Браво. :) –  Joshua Pinter 04.02.2017 в 06:38
0

Если вы хотите сохранить исходное имя - используйте прописную букву -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     

ответ дан daGo 29.05.2018 в 08:35