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!
评论




