Сайт Георгия Мурого

Про использование wget для скачивания данных NASA

Скачивание данных с одного из ресурсов earthdata.nasa.gov в программе wget удалось настроить не сразу из-за странной системы авторизации в этой группе сайтов.

Вместо того, чтобы тихо проверить пользователя на внешнем сервере авторизации и поставить его перед фактом, пользователя перенаправляют на сайт авторизации, потом куда-то ещё, и так далее. Эту цепочку перенаправлений веб-браузеры (Firefox, Chrome и т. п.) обрабатывают легко, а консольные веб-клиенты wget или cURL подтверждение авторизации теряют.

Настройка скачивания в программе wget описывается на следующих веб-страницах:

Для wget версии 1.20.1 (входит в Linux Debian версии 10 «Buster») командная строка имеет вид:

wget --auth-no-challenge=on --load-cookies cookies.dat --save-cookies cookies.dat --keep-session-cookies <URL>

В документации NASA предусмотрено размещение кук-файла в домашней директории пользователя (~/.urs_cookies), но целесообразнее — в текущей директории. Создаётся файл командой touch cookies.dat.

Пример поиска файла с использованием wget приведён на странице по первой ссылке.

Использование файла ~/.netrc (описано на всех трёх страницах) — обязательно! Указание логина и пароля в командной строке не сработает.

Перед скачиваением реальных данных рекомендуется убедиться в работоспособности схемы: скачать любой файл из примеров в документации и убедиться, что получены данные, а не веб-страница с требованием авторизации, сообщением о редиректе, и т. п. При неудаче, перед повторной попыткой, удалите и заново создайте кук-файл.

Автор: Георгий Мурый, страница создана 21 апреля 2020 года.