我可以使用wget检查404而不是实际下载资源吗? 如果是这样的话? 感谢
答案 0 :(得分:97)
完全有命令行参数--spider
。在此模式下,wget不下载文件,如果找到资源,则返回值为零,如果未找到则返回非零值。试试这个(在你最喜欢的shell中):
wget -q --spider address
echo $?
或者如果您想要完整输出,请关闭-q
,这样只需wget --spider address
。 -nv
显示一些输出,但没有默认值。
答案 1 :(得分:21)
如果你想通过$安静地检查?没有grep'ing wget输出的麻烦你可以使用:
wget -q "http://blah.meh.com/my/path" -O /dev/null
甚至可以在只有路径的URL上工作,但缺点是确实已下载了某些内容,因此在检查大文件是否存在时不建议这样做。
答案 2 :(得分:13)
您可以使用以下选项检查文件:
wget --delete-after URL
答案 3 :(得分:9)
很容易。
wget --spider www.bluespark.co.nz
那会给你
Resolving www.bluespark.co.nz... 210.48.79.121
Connecting to www.bluespark.co.nz[210.48.79.121]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
200 OK
答案 4 :(得分:0)
如果您所在的目录中只有root有权访问系统中的内容。然后,您可以使用标准用户帐户直接使用wget www.example.com/wget-test
。因此它将命中该URL,但是由于没有写许可权文件而不会被保存。
这种方法对我来说效果很好,因为我正在使用这种方法进行cronjob。
谢谢。
sthx