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



我正在为我的 YAMon 脚本开发一个安装程序,用于 *WRT 路由器(请参阅 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电话坚持下载所请求文件的缓存版本。

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

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

我把头撞在墙上...有什么建议吗?感谢!

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

经过大量的实验,我发现如果请求的文件的扩展名为".html",wget似乎总是从远程服务器返回文件的最新版本;但如果它是其他东西(例如,".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

相关内容

  • 没有找到相关文章

最新更新