cURL - URL 확장자 없이 파일 다운로드

cURL - URL 확장자 없이 파일 다운로드

이 웹사이트에서 파일을 다운로드하려고 합니다.https://dev.bukkit.org/projects/economyshopgui. "최신 파일 다운로드"라는 버튼이 있었기 때문에 해당 버튼에 대한 링크를 복사하고 다음 cURL 명령을 사용하여 터미널에 붙여넣었습니다.

curl -o EconomyShopGUI.jar https://dev.bukkit.org/projects/economyshopgui/files/latest

그리고 무엇을 다운로드할지 확인하기 위해 다음 명령을 시도했습니다.

curl -O https://dev.bukkit.org/projects/economyshopgui/files/latest

나는 몇 가지 결과를 온라인으로 검색해 보았고 curl -L -O또는 curl -O -J -L. 나는 모든 것을 시도했지만 어쩌면 내가 요구하는 것을 할 방법이 없을 수도 있습니다. 누군가 나에게 설명이나 해결책을 줄 수 있기를 바랍니다. 콘텐츠를 DL할 수 있는 유일한 방법이기 때문에 브라우저에서 다운로드할 수 없습니다.

미리 감사드립니다

답변1

-L다음 옵션 을 포함해야 합니다 --location.

curl -Lo EconomyShopGUI.jar https://dev.bukkit.org/projects/economyshopgui/files/latest

설명하다

URL은 302 리디렉션을 반환합니다 /error?aspxerrorpath=/projects/economyshopgui/files/latest. 이는 GET 요청 대신 HEAD 요청을 수행하여 확인할 수 있습니다.

$ curl -I https://dev.bukkit.org/projects/economyshopgui/files/latest
HTTP/2 302
date: Wed, 17 Nov 2021 20:58:33 GMT
content-type: text/html; charset=utf-8
set-cookie: AWSALB=XPIy/kG6YB43FiNyWSi8BpsIA6YAUWahl8p7PGFVzlb3MOocdKfR/WUYuEZhMHDI0jX9fwmOYUZds4nzi/D8MJmmRH4j2/snJ9iFftX1dxsnm1ECV3YtsCf9nl2y; Expires=Wed, 24 Nov 2021 20:58:33 GMT; Path=/
cache-control: private
location: /error?aspxerrorpath=/projects/economyshopgui/files/latest
...

-L, 옵션은 다음과 같은 리디렉션을 --location나타냅니다 curl.

서버가 요청한 페이지가 다른 위치(Location: 헤더 및 3XX 응답 코드로 표시됨)로 이동했다고 보고하는 경우 이 옵션을 사용하면 컬이 새 위치에서 요청을 다시 실행하게 됩니다.

대체 솔루션

wget대신 사용할 수 있습니다 curl.

 wget --content-disposition  https://dev.bukkit.org/projects/economyshopgui/files/latest

--content-disposition옵션을 사용하면 출력이 자동으로 에 저장됩니다 EconomyShopGUI-3.9.2.jar. 이 옵션이 없으면 결과 파일의 이름이 덜 유용해집니다 latest.

관련 정보