Есть два способа сделать это с помощью Curl.
В этом первом методе вы бы -O
для записи файла на основе удаленного имени из URL; в этом случае он, скорее всего, запишет файл в систему как IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899
; обратите внимание, как значение URL содержится в двойных кавычках, так как &
и ?
может быть неверно истолковано как команды Bash:
curl -O -L "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899";
Хотя этот метод технически «работает», но имя файла в лучшем случае сбивает с толку. Таким образом, в этом другом методе вы использовали бы перенаправление вывода - с >
после которого следует имя файла после URL - для вывода содержимого файла в файл с именем IMAGENAME.ISO
:
curl -L "http://some.ip.in.here/website.com/IMAGENAME.ISO?md5=hUhpyFjk7zEskw06ZhrWAQ&expires=1454811899" > "IMAGENAME.ISO";
Так что, если вы спросите меня, второй метод лучше всего подходит для большинства средних пользователей. Также обратите внимание, что флаг -L
используется в обеих командах; эта команда указывает Curl следовать любым ссылкам перенаправления, которые может иметь URL-адрес загрузки файла, поскольку файлы служб загрузки перенаправляют несколько раз, прежде чем попасть в целевой файл полезной нагрузки.