このウェブサイトからファイルをダウンロードしようとしています。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
。