Как загрузить список файлов, используя curl, который требует учетных данных? - PullRequest
1 голос
/ 30 октября 2019

У меня есть список файлов URL Test.txt в текстовом документе, который я пытаюсь загрузить с сервера, требующего входа в систему. Я начинаю с создания файла .netrc в curl в моем терминале Linux, используя следующий код:

host-0800-a45e60ef38c9:~ myname$ touch .netrc
host-0800-a45e60ef38c9:~ myname$ echo "machine urs.earthdata.nasa.gov login mylogin password mypassword” >> .netrc
>
host-0800-a45e60ef38c9:~ myname$ chmod 0600 .netrc
host-0800-a45e60ef38c9:~ myname$ touch .urs_cookies
host-0800-a45e60ef38c9:~ myname$ cat Test.txt | tr -d '\r' | xargs -n 1 curl -LJO -n -c ~/.urs_cookies -b ~/.urs_cookies

Где ~ myname $ - мой домашний каталог.

Файл Test.txt содержит около тысячи уникальных ссылок, таких как эта:

https://hydro1.gesdisc.eosdis.nasa.gov/daac-bin/OTF/HTTP_services.cgi?FILENAME=%2Fdata%2FNCALDAS%2FNCALDAS_NOAH0125_D.2.0%2F1979%2F01%2FNCALDAS_NOAH0125_D.A19790102.002.nc4&FORMAT=bmM0Lw&BBOX=42.472%2C-71.499%2C48.185%2C-67&LABEL=NCALDAS_NOAH0125_D.A19790102.002.nc4.SUB.nc4&SHORTNAME=NCALDAS_NOAH0125_D&SERVICE=L34RS_LDAS&VERSION=1.02&DATASET_VERSION=2.0&VARIABLES=Evap%2CSoilMoist0_10cm%2CSoilMoist10_40cm%2CSoilMoist100_200cm%2CSoilMoist40_100cm

Я снова и снова получаю следующие ошибки:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1207k  100 1207k    0     0  1641k      0 --:--:-- --:--:-- --:--:-- 1641k
Warning: Failed to create the file
curl: (23) Failed writing body (0 != 27)

Полагаю, это как-то связано с разрешением учетных данных .netrc file. Но он настроен на чтение и запись. Я новичок в Linux. Может кто-нибудь указать, что здесь происходит не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...