DD-WRT wget返回一个缓存的文件

时间:2016-01-29 03:25:10

标签: bash caching wget dd-wrt

我正在为* WRT路由器开发YAMon脚本的安装程序(参见http://www.dd-wrt.com/phpBB2/viewtopic.php?t=289324)。

我目前正在使用DD-WRT v3.0-r28647标准(01/02/16)测试TP-Link TL-WR1043ND。与许多其他人一样,此固件变体不包括curl,因此我(优雅地)回退到wget电话。但是,似乎DD-WRT包含wget的缩减版本,因此无法识别-C和--no-cache选项。

长&简而言之,我的wget电话坚持要下载所请求文件的缓存版本。

BTW - 我正在使用:wget "$src" -qO "$dst" 其中src是我的远程服务器上的源文件,dst是本地路由器上的目标

到目前为止,我没有尝试过:  1.在请求URL中附加时间戳  2.重启路由器  3.运行stopservice dnsmasq& startservice dnsmasq 没有人改变我仍然得到该文件的缓存版本的事实。

我在墙上敲我的头......有什么建议吗? THX!

的Al

2 个答案:

答案 0 :(得分:0)

不是一个答案,而是一个看似可行的解决方法......

经过大量的实验,我发现wget似乎总是从远程服务器返回最新版本的文件,如果所请求文件的扩展名为'.html' ;但如果它是其他东西(例如'.txt'或'.sh'),则不会。

我不知道为什么会发生这种情况或者它们被缓存的地方。

但是现在我这样做了,我的安装程序所需的所有文件在删除服务器上都有一个html扩展名,脚本在本地保存了适当的扩展名。 (叹息......我生命中的几天,我不会回来)

的Al

答案 1 :(得分:0)

我有同样的概率。从摄像机获取图像时,摄像机上的HTTP服务器始终发送相同的图像。

wget --no-http-keep-alive ..

解决了我的问题

我的全线是

wget --no-check-certificate --no-cache --no-cookies --no-http-keep-alive $URL -O img.jpg -o wget_last.log