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



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

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

  1. 提取HTTP响应代码
  2. 提取标题
  3. 在本地保存文件(如果请求成功)

我可以使用多个curl请求来做到这一点,但我想尽量减少我访问Snapito服务器的次数。有curl专家吗?

或者,如果有人有一个Bash脚本,可以响应完整的Snapito API响应文档集,那就太棒了。这是他们的API文档。

谢谢!

使用转储标头选项:curl -D /tmp/headers.txt http://server.com

使用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)

最新更新