使用 wget 自动通过 HTTP 下载 McAfee DAT Package

使用 wget 自动通过 HTTP 下载 McAfee DAT Package

我正在寻找一种方法来创建计划任务以自动下载“用于 McAfee ePO 的 DAT 包”此处提供。该页面上的链接文本(“用于 McAfee ePO 的 DAT 包”)始终保持不变,但它每天指向不同的 .zip 文件,因此链接目标不同。

有没有办法做到这一点?

答案1

大致如下(为了便于阅读,分成几行):

wget --execute=robots=off --recursive --level 1 --span-hosts \
--accept=.zip --no-directories --domains=download.nai.com \
http://www.mcafee.com/apps/downloads/security-updates/security-updates.aspx

如果在允许下载之前总是要求您接受,则您可能需要保存/加载 cookies。查看 wget 的 --[save|load]-cookies 选项。

答案2

您可能想尝试使用浏览器自动程序 Selenium。或者,如果您使用的是 Mac,伪造的可能是一个更简单的解决方案。

除此之外,通过 curl 管道传输到 awk 再通过管道传输回 xargs curl 可能是最好的选择,但这会非常混乱。

答案3

改进jáquer 的回答

wget --recursive --no-parent --level=1 --no-directories --reject html \
--accept-regex='avvepo.*dat.zip' --timestamping \
'http://download.nai.com/products/DatFiles/4.x/NAI/'

McAfee 在该目录中保留了最新的三个 DAT 存档,因此上述命令将下载所有三个,但前提是当前目录中的文件比可用文件更旧(这就是事实--timestamping)。如果您只想使用最新文件执行某些操作,则必须编写一些额外的脚本。但您应该将最新的三个文件保留在下载目录中,以防止每天重新下载所有三个文件。

相关内容