|
|
1
26
我认为
但是,如果响应实际上是301或302重定向,则仍然会保存,即使其目标会导致错误:
|
|
|
2
15
我刚刚为此目的设置了一个衬里: (仅适用于单个文件,可能对其他文件有用)
这将尝试从远程主机下载文件。如果出现错误,则不会保留该文件。在所有其他情况下,它会被保留并重命名。 |
|
|
3
3
古老的线索。。降落在这里寻找解决方案。。。最后写了一些shell代码来完成它。
这将把输出下载到tmp文件,并仅在状态为200时创建/覆盖输出文件。我的用例略有不同。。在我的情况下,输出需要>10秒后生成。。。我不希望目标文件在此期间保持空白。 |
|
|
4
0
我提出了一个解决方案,它确实下载了文件,但如果文件大小为0(如果出现404,就会发生这种情况),它也会删除文件。
但只有在您提供
|
|
|
5
0
注:
我知道这是一个老问题,但我相信我已经为那些使用
当且仅当HTTP状态代码在200范围内(Ok)时,才会将目标文件保存到本地目录。 此外,如果您想在请求遇到错误时打印错误,可以检查 wget exit code 对于这样的非零值:
我希望这对那些面临与我同样问题的人有所帮助。 我只是把它放在我自己的项目中更适合编写脚本的形式中,并想与大家分享:
|
|
|
6
0
作为替代方案,您可以创建临时旋转文件:
前面的命令将始终下载文件“myfile.json.tmp”,但是只有当wget exit状态等于0时,文件才会旋转为“myfile.json”。 这种方法的优点是,如果出现问题,您可以检查临时文件并查看返回的错误消息。 如果出现错误,“-t”参数会多次尝试下载文件。 “-q”是安静模式,与cron一起使用很重要,因为cron将报告wget的任何输出。
请记住,对于Cron计划,始终为所有文件提供完整路径非常重要,在本例中,对于“wget”程序,它本身也是如此。 |
|
|
7
-3
您可以下载该文件,而无需使用
你可以在以下网址获得更多信息: http://www.gnu.org/software/wget/manual/wget.html#Advanced-Usage |