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 -Ocurl -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

おすすめ記事