DD-WRT wget returns 一个缓存文件

DD-WRT wget returns a cached file

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

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

总而言之,我的 wget 调用坚持下载所请求文件的缓存版本。

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

到目前为止,我未能成功尝试: 1. 给请求附加一个时间戳 URL 2.重启路由器 3. 运行 stopservice dnsmasq & startservice dnsmasq None 改变了我仍在获取文件的缓存版本这一事实。

我正在用头撞墙……有什么建议吗?谢谢!

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

经过大量实验,我发现 wget 似乎总是 return 来自远程服务器的文件的最新版本 if 扩展名在请求的文件上是'.html';但如果是其他内容(例如“.txt”或“.sh”),则不会。

我不知道为什么会发生这种情况,也不知道它们被缓存在哪里。

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

我遇到了同样的问题。从相机获取图像时,相机上的 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