【问题标题】:Only create file if http status 200 with wget?仅在使用 wget 的 http 状态 200 时创建文件?
【发布时间】:2009-03-16 08:41:04
【问题描述】:

我一直在想办法让 wget 仅在实际下载响应有效时才创建文件,这意味着没有 404 或 500 状态代码,只有 200。

但是,当使用 -O 选项(指定文件名)时,它将始终使用错误页面的内容创建文件,并且我还没有找到一种方法来指定它应该在收到404 响应标头。

我需要检查退出代码并通过管道输出还是有更好的选择?

【问题讨论】:

    标签: wget


    【解决方案1】:

    也许这是唯一的答案,除了修补 wget(一个有效的选项):

    wget -O somefile.html http://example.com/ || rm somefile.html
    

    【讨论】:

    • 很好的解决方案。尽管我可能要添加一些内容:如果输出文件存在,我会遇到问题 - wget 无法下载,因为该文件已经存在并返回错误,该错误会运行 rm 并释放文件。运行该行会在下载和删除文件之间交替运行。
    猜你喜欢
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2021-10-21
    相关资源
    最近更新 更多