이 웹사이트에서 파일을 다운로드하려고 합니다.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
.