@ComradeTilde

CURL | Как скачать не зная версию?

Есть ссылка
github.com/adoptium/temurin8-binaries/releases/latest/OpenJDK8U-jdk_x64_windows_hotspot_8u322b06.msi
нужно сделать так, чтоб вместо 8u322b06 писать что-то вроде %% и, чтоб этот файл скачивался
  • Вопрос задан
  • 238 просмотров
Пригласить эксперта
Ответы на вопрос 3
@rPman
одним запросом не получится, мало того тебе нужно мини программа чтобы получить желаемое, на bash сложнее чем на чем то удобнее (php/js/...)
нужно получить список релизов выбранного репозитария, взять первую ссылку и ее уже загружать
в твоем примере чтобы получить список в формате json:
curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/adoptium/temurin8-binaries/releases?per_page=1

тут параметр per_page=1 чтобы выдало только один релиз - последний, если убрать, будет выдано до 30 штук и можно постранично догружать

в ответе json, берешь нужную ссылку [x].assets[y].browser_download_url
где x - номер в списке версий релиза а y - номер в списке файлов

само собой среди файлов ищи по имени нужный
Ответ написан
@mureevms
В линуксовой консоли можно так, приведите под винду сами, я в нее не умею

# Выяснить длинную версию последнего релиза:
LONG_VERSION=$(curl -s https://github.com/adoptium/temurin8-binaries/releases/latest | awk -F\" {'print $2'} | awk -F/ {'print $8'})

# Привести длинную версию последнего релиза к короткой:
SHORT_VERSION=$(echo $LONG_VERSION | awk -F- {'print $1$2'} | sed 's/jdk//')

# Скачать файл:
wget https://github.com/adoptium/temurin8-binaries/releases/download/$LONG_VERSION/OpenJDK8U-jdk_x64_windows_hotspot_$SHORT_VERSION.msi
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
получаем ссылку для скачивания:
curl https://api.github.com/repos/adoptium/temurin8-binaries/releases/latest?per_page=1|grep -oP 'download_url": "\K.*OpenJDK8U-jdk_x64_windows_hotspot.*msi(?=")'


дальше можно в переменную:
URL=$(curl https://api.github.com/repos/adoptium/temurin8-binaries/releases/latest?per_page=1|grep -oP 'download_url": "\K.*OpenJDK8U-jdk_x64_windows_hotspot.*msi(?=")')
curl -OL $URL


или в xargs
curl https://api.github.com/repos/adoptium/temurin8-binaries/releases/latest?per_page=1|grep -oP 'download_url": "\K.*OpenJDK8U-jdk_x64_windows_hotspot.*msi(?=")'|xargs curl -OL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы