Ubuntu:使用 curl 下载图像

Posted

技术标签:

【中文标题】Ubuntu:使用 curl 下载图像【英文标题】:Ubuntu: Using curl to download an image 【发布时间】:2015-11-26 15:19:27 【问题描述】:

我想下载一个可从此链接访问的图像: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 从 Internet 下载图像。使用此命令下载图像的正确方法是什么?

【问题讨论】:

However, this doesn't seem to work 你有什么输出? 查看我的答案以了解会输出的内容 【参考方案1】:

curl 不带任何选项将执行 GET 请求。它只会从指定的 URI 返回数据。不将文件本身检索到本地计算机。

当你这样做时,

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

您将收到二进制数据:

                   |�>�$! <R�HP@T*�Pm�Z��jU֖��ZP+UAUQ@�
��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

【讨论】:

google drive 下载图像时,它们不会像往常一样打开。但是您提供的代码(curl )运行良好,是谷歌安全措施还是有其他方法? 如果我想将实际的二进制数据保存到文件而不是获取图像怎么办? @F***Rios,我想这就像将格式的扩展名更改为 .txt 而不是 .png 一样简单,我只是尝试过,它成功了。【参考方案2】:

对于那些没有也不想安装 wget 的人,curl -O(大写“o”,不是零)将与wget 做同样的事情。例如。我的旧上网本没有 wget,而且我不需要安装 2.68 MB。

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

【讨论】:

"是我不需要的 2.68 MB 安装。"现在那是节省您的存储空间。太棒了。 :)【参考方案3】:

如果你想保留原来的名字——使用大写-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】:

创建一个名为 files.txt 的新文件,然后每行粘贴一个 URL。然后运行以下命令。

xargs -n 1 curl -O < files.txt

来源:https://www.abeautifulsite.net/downloading-a-list-of-urls-automatically

【讨论】:

【参考方案5】:

对于那些获得permission denied 进行保存操作的人,这是对我有用的命令:

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

【讨论】:

【参考方案6】:

试试这个

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

【讨论】:

参考堆栈溢出指南,了解如何发布答案,主要是这个答案与您之前发布的其他答案有何不同,并且格式化您的答案也会有所帮助。 它更短更清晰。投反对票具有误导性,因为它给人的印象是答案是错误的,但事实并非如此。

以上是关于Ubuntu:使用 curl 下载图像的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu22.04 安装Annaconda步骤基础命令使用pycharm使用anaconda

Ubuntu安装Anaconda

无法在 ubuntu 11.1 上将 curl 与 PHP 一起使用

PHP 启动:无法加载动态库`curl.so` Ubuntu

ubuntu18.04下载yarn

Ubuntu C++ 调用http接口