Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用CURL下载文件并查看标题和状态代码_Bash_Curl - Fatal编程技术网

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

Bash 使用CURL下载文件并查看标题和状态代码,bash,curl,Bash,Curl,我正在编写一个Bash脚本,用于从的网页快照API下载图像文件。API可以返回由不同HTTP响应代码和/或某些自定义头指示的各种响应。我的脚本打算作为自动Cron作业运行,从MySQL数据库中提取URL,并将屏幕截图保存到本地磁盘 我正在使用curl。我想使用一个CURL命令完成以下三件事: 提取HTTP响应代码 提取标题 在本地保存文件(如果请求成功) 我可以使用多个curl请求来实现这一点,但我希望尽量减少我访问Snapito服务器的次数。有没有curl专家 或者,如果有人有一个Bash脚本

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

我正在使用
curl
。我想使用一个CURL命令完成以下三件事:

  • 提取HTTP响应代码
  • 提取标题
  • 在本地保存文件(如果请求成功)
  • 我可以使用多个
    curl
    请求来实现这一点,但我希望尽量减少我访问Snapito服务器的次数。有没有
    curl
    专家

    或者,如果有人有一个Bash脚本可以响应完整的snapitoapi响应文档集,那就太棒了。给你


    谢谢

    使用转储标题选项:
    curl-D/tmp/headers.txthttp://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)
    

    您可以解析输出,但我想这在python/ruby/php/中更容易……啊,是的。我忽略了
    -D
    选项。下面是我现在使用的:
    curl-s-L-D/dev/stdout-o$IMAGE\u FILE$SNAPITO\u URL
    谢谢
    curl-s-L-D--o$IMAGE\u FILE$SNAPITO\u URL
    我想你想的是
    -I
    选项,而不是
    -I
    。不-我只是标题,-我是标题+内容。我明白了,你是对的。但是,使用
    -i
    会给我带来另一个问题:解析输出以将标题从二进制图像数据中分离出来。我让它与路由到stdout的
    -D
    选项(并由
    $()
    包装器捕获)和保存文件的
    -o
    选项配合使用。谢谢你!下次我会记得查看
    -I