curl 教程
坑边闲话:
wget
和curl
在命令行下载文件时很常见。然而,curl
的诸多参数很复杂。
curl
发展自 1998 年,算是一个相对年轻的工具。它本身就是一个迷你的浏览器,可以请求 HTTP 内容,因此下载文件也不在话下。
此外,curl
还是一个开发库,它提供了若干个在 HTTP 开发时需要用到的组件。
-L
重定向·
如果页面发生重定向,则 curl
也会继续请求重定向后的内容。
重定向是个危险的操作,因此如果包含发送 secret, curl
不会将 secret 发送给重定向后的服务器。
可通过 --max-redirs
设置重定型的深度。
-o
·
--output
,将网络返回的数据写入文件,而非写入到 stdout
.
由于 curl
支持解析自定义脚本,因此用 -o
参数时可以编程。
-O
·
--remote-name
-O
经常用来做临时下载,它会将远程资源的文件名解析出来,并以此创建本地文件。
--output-dir
·
当 -O
或 -o
指定时,该参数才生效。
1 | curl --output-dir "/tmp" -O https://example.com |
这个选项用来指定输出的目录
-J
·
--remote-header-name
这是个不太常用的选项,它涉及到 HTTP 的一些细节。比如我们在请求资源时,Server 会使用 HTTP 报文给我们反馈,其中头部会包含很多字段,其中一个就是 Content-Disposition
,即内容处理方式。
并非所有的 HTTP 返回的头部里都包含 Content-Disposition
字段,因此这个选项不是很常用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Peng Liu's blog!
评论