Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] curl - Скачать по "непрямой" ссылке

Ответить
Настройки темы
CMD/BAT - [решено] curl - Скачать по "непрямой" ссылке

Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Подскажите, пожалуйста, можно ли с помощью curl скачать файл по "непрямой" ссылке: https://aka.ms/vs/15/release/vs_professional.exe

Отправлено: 15:41, 29-08-2017

 

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
curl -L https://aka.ms/vs/15/release/vs_professional.exe --output vs_professional.exe
Или PowerShell:
Код: Выделить весь код
Invoke-WebRequest https://aka.ms/vs/15/release/vs_professional.exe -OutFile vs_professional.exe
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:59, 29-08-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Или wget.exe — он тоже умеет «ходить» по ответу HTTP 301.

Отправлено: 16:11, 29-08-2017 | #3


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Iska, wget в плане рекурсии лучше curl, в чем автор последнего признается сам. Например, curl плохо справляется со ссылками sourceforge, а вот преимуществом curl перед wget является простота сборки под разные платформы, большее количество поддерживаемых протоколов, сертификаты и прочее, и прочее. Обычно пользуюсь им для отправки файлов в облако через WebDAV и просмотра почты.
Kazun, не проще ли использовать ключ -O, вместо -o? Иными словами:
Код: Выделить весь код
curl -#LO https://aka.ms/vs/15/release/vs_professional.exe
сохранит файл с тем же именем, что и в url'е.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:16, 29-08-2017 | #4


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата greg zakharov:
Обычно пользуюсь им для отправки файлов в облако через WebDAV и просмотра почты. »
А можно поподробнее, пожалуйста? Что и как...

Отправлено: 12:56, 30-08-2017 | #5


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата Sisin:
А можно поподробнее, пожалуйста? Что и как...
Подробно все расписано в самом curl:
Код: Выделить весь код
curl --manual
Но если кратко... то с чего бы тогда начать? Обычно я собираю curl из исходников с такими библиотеками: OpenSSL, libssh2, c-ares и zlib. Далее устанавливаю переменную окружения HOME (sysdm.cpl,3 -> Переменные окружения -> Переменные среды пользователя -> HOME = %userprofile%). Далее в папке пользователя создаю файл _netrc, - это в разы упростит авторизацию. И далее (примеры для Яндекс.Диска):
Код: Выделить весь код
rem вывод списка файлов в корне диска ответ от сервера
rem будет в виде xml, разобрать который можно с помощью
rem xmlstarlet или того же powershell
curl -n https://webdav.yandex.ru -X PROPFIND -H "Depth: 1"

rem вывод списка файлов в какой-нибудь поддиректории
curl -n https://webdav.yandex.ru/sub -X PROPFIND -H "Depth: 1"

rem отправка файла в поддиректорию диска
curl -n https://webdav.yandex.ru/sub/ -X PUT -T 'C:\cloud\some_file.exe'

rem загрузить файл
curl -n https://webdav.yandex.ru/sub/some_file.exe -X GET -O

rem удалить файл
curl -n https://webdav.yandex.ru/sub/some_file.exe -X DELETE
Примерно такие команды.
Чтобы обезопасить _netrc файл от просмотра и снизить количество телодвижений при наборе команд, все это лучше обернуть в командный сценарий, в котором при посыле запросов декодируется _netrc (например, тем же OpenSSL), после чего он снова кодируется, - что-то вроде базовой безопасности.
Что касается почты... если тема действительно интересна, могу рассказать подробней и про нее.
P.S.Если curl на что-то ругается, задайте ключ -v, дабы понять что происходит "за кулисами".
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:36, 30-08-2017 | #6


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


А как скачать curlом по такой ссылке https://www.gyan.dev/ffmpeg/builds/f...-essentials.7z

Смысл в том, что название архива при ручном скачивании другое. Перепробовал разные комбинации, но архив не скачался.

Последний раз редактировалось Sisin, 28-08-2021 в 16:48.


Отправлено: 16:05, 28-08-2021 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Sisin, приведённая Вами ссылка является ссылкой на html-содержимое следующего содержания:
Код: Выделить весь код
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>303 See Other</title>
</head><body>
<h1>See Other</h1>
<p>The answer to your request is located <a href="https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-4.4-essentials_build.7z">here</a>.</p>
</body></html>
303 See Other

Разрешайте редирект и указывайте имя файла для сохранения полученного содержимого:
Код: Выделить весь код
"%ProgramFiles%\cURL\bin\curl.exe" --location https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z --output "ffmpeg-release-essentials.7z"
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:43, 28-08-2021 | #8


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Powershell:

Код: Выделить весь код
curl "https://aka.ms/vs/15/release/vs_professional.exe" -OutFile "C:/temp/vs.exe"
curl "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.7z" -OutFile "C:/temp/ffmpeg-release-essentials.7z"

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 08:54, 29-08-2021 | #9


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Цитата Solitude:
Подскажите, как скачать xml файл по вот такой ссылке »
pwsh:
Код: Выделить весь код
(Invoke-WebRequest 'https://a-class.com.ua/uk/api/price.xml?c%5B0%5D=2&key=63fdb4ce22fdf').Content | Set-Content price.xml

Отправлено: 14:57, 18-08-2023 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] curl - Скачать по "непрямой" ссылке

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скачать видео по прямой ссылке. Silumin Вебмастеру 3 20-05-2014 21:19
Ошибка - Firefox браузер по умолчанию через "установка и удаление" и "set access and defaults" jz828059 Microsoft Windows 2000/XP 2 17-01-2014 17:22
Использование - "Положение об использовании ПО" и "Правила использования ПО" на предприятии netochka Лицензирование продуктов Microsoft 7 27-06-2013 09:01
PowerShell - Скачать изображение по непрямой ссылке Suliman1 Скриптовые языки администрирования Windows 0 04-04-2011 13:09
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход