我正在编写一个Bash脚本,从Snapito的网页快照API下载图像文件。API可以返回由不同的HTTP响应代码和/或一些自定义头表示的各种响应。我的脚本打算作为一个自动Cron作业运行,它从MySQL数据库中提取URL,并将屏幕截图保存到本地磁盘。
我正在使用curl
。我想用一个CURL命令做这3件事:
- 提取HTTP响应代码
- 提取标题
- 在本地保存文件(如果请求成功)
我可以使用多个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)