我正在尝试使用curl以下列格式下载一系列文件:
...
所以我使用了这个命令:
时间卷曲 “http://example.com/[0-9][0-9][0-9].jpg” -o“#1#2#3.gif”
但有些文件不存在,而且该命令会在我的末尾创建文件,但实际上它只包含错误页面。
我需要一种方法让curl在下载之前检查它是否存在于远程服务器上。
我知道wget可以做到,但是wget似乎需要花费大约5倍的时间来运行。我以前在wget中尝试的命令是:
时间wget http://example.com/ {0..9} {0..9} {0..9} .JPG
答案 0 :(得分:1)
尝试-f / - 失败选项:
(HTTP)服务器错误无提示失败(根本没有输出)。这主要是为了更好地启用脚本等以更好地处理失败的尝试。在正常情况下,当HTTP服务器无法传递文档时,它会返回一个HTML文档(通常也会描述原因和更多内容)。此标志将阻止curl输出该值并返回错误22。
此方法不是故障安全的,并且有时会出现非成功的响应代码,尤其是涉及身份验证时(响应代码401和407)。