使用CURL下载文件并查看标题和状态代码

时间:2012-08-06 21:29:41

标签: bash curl

我正在编写一个Bash脚本,用于从Snapito的网页快照API下载图像文件。 API可以返回由不同HTTP响应代码和/或一些自定义标头指示的各种响应。我的脚本旨在作为自动Cron作业运行,从MySQL数据库中提取URL并将屏幕截图保存到本地磁盘。

我正在使用curl。我想用一个CURL命令做这三件事:

  1. 提取HTTP响应代码
  2. 提取标题
  3. 在本地保存文件(如果请求成功)
  4. 我可以使用多个curl请求执行此操作,但我希望尽量减少我点击Snapito服务器的次数。那里有curl名专家吗?

    或者如果某人有一个Bash脚本可以响应完整记录的Snapito API响应集,那就太棒了。这是their API documentation

    谢谢!

2 个答案:

答案 0 :(得分:18)

使用dump headers选项: curl -D /tmp/headers.txt http://server.com

答案 1 :(得分:8)

使用curl -i(包括HTTP标头) - 这将产生标题,后跟一个空行,后跟内容。

然后您可以拆分标题/内容(或使用-D直接保存到文件,如上所述)。


有三个选项-i-I-D

> curl --help | egrep '^ +\-[iID]'
 -D, --dump-header FILE  Write the headers to FILE
 -I, --head          Show document info only
 -i, --include       Include protocol headers in the output (H/F)