Я ищу способ создания запланированной задачи для автоматической загрузки "Пакета DAT для использования с McAfee ePO", предлагаемого здесь. Текст ссылки на этой странице ("Пакет DAT для использования с McAfee ePO") всегда остается одним и тем же, но ежедневно указывает на другой файл .zip, поэтому цель ссылки отличается.

Есть ли способ сделать это?

3 ответа3

2

Что-то вроде этих строк (разбито на отдельные строки для удобства чтения):

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

Если вас всегда просят принять, прежде чем разрешить загрузку, вам, вероятно, придется сохранять / загружать файлы cookie. Посмотрите на параметр - [save | load] -cookies для wget.

0

Возможно, вы захотите попробовать Selenium, браузер-автоматизатор. Или, если вы на Mac, подделка может быть более простым решением.

Кроме того, лучшим вариантом будет скручивание к awk, отправляемому обратно к xargs curl, но это будет довольно грязно.

0

Улучшение ответа Жакара:

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 ). Вам придется выполнить некоторые дополнительные сценарии, если вы хотите что-то сделать только с последним файлом. Но вы должны хранить последние три в своем каталоге загрузок, чтобы предотвратить повторную загрузку всех трех файлов каждый день.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .