Я пытаюсь написать скрипт оболочки, который будет загружать последнюю версию OpenOffice с помощью wget , а затем использовать командную строку для установки приложения. Я видел, что установка приложения проста, но получить последнюю версию OpenOffice довольно сложно.

Примечание: когда я имею в виду последнюю версию, я не имею в виду 4.0.0 или 4.0.1 и т. Д ..., я имею в виду любую версию OO, которая является последней на момент установки, без необходимости изменить скрипт оболочки.

Я могу использовать wget для получения последней информации от SourceForge:

wget http://sourceforge.net/projects/openofficeorg.mirror/files/latest/download

... однако, он не выбирает правильный файл.

При использовании браузера в Windows 7 x64 будет Apache_OpenOffice_4.0.0_Win_x86_install_en-US.exe , но wget будет OOo_3.3.0_Win_x86_install_en-US_20110219.iso .

Как я могу использовать wget для получения правильного файла?

Спасибо за ваше время.

Примечание 2: wget в Linux получает тот же файл.

2 ответа2

0

Используйте параметр --user-agent:

~ $ wget --user-agent = "Mozilla/5.0 (X11; Linux x86_64; rv:23.0) Gecko/20100101 Firefox/23.0" http://sourceforge.net/projects/openofficeorg.mirror/files/latest/download

это создаст файл download который содержит прямую ссылку. Теперь проанализируйте прямую ссылку и загрузите файл tar.gz:

~ $ wget `grep direct-download скачать | awk -F "href =." '{print $ 2}' | awk -F "\" "'{print $ 1}'`

Это не идеальный способ, но он работает :)

0

Возможно, версия для Windows не поддерживает перенаправление, вы можете попробовать использовать --max-redirect и / или -r (recursive), чтобы форсировать это.

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