ブラウザからダウンロードできますが、なぜこのリンクをダウンロードできないのですか?

ブラウザからダウンロードできますが、なぜこのリンクをダウンロードできないのですか?

私はMac OS 10.11.6 El Capitanを実行しています。プログラムでリンクをダウンロードしたいです。

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-osx10.11-x86_64.dmg

このURLをSafariなどのブラウザに貼り付けると、ダウンロードが正常に機能します。

ただし、同じURLを使用してコマンドラインからダウンロードしようとするとcurl機能しません。結果は空のファイルです。

$ ls -lA
$ curl -O https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-osx10.11-x86_64.dmg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
$ ls -lA
total 0
-rw-r--r--  1 myname  staff  0 Nov  7 14:07 mysql-5.7.16-osx10.11-x86_64.dmg
$ 

もちろん、ブラウザからファイルを取得できますが、理解したいと思います。なぜ上記のコマンドはcurl機能しません。

curlなぜこのファイルを正しくダウンロードできないのですか?ウェブサイトに視覚的に存在し、グラフィックWebブラウザを介して正しくアクセスしてダウンロードできるのはいつですか?

ベストアンサー1

Webサーバー側から次のURLにリダイレクトされますhttp://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-osx10.11-x86_64.dmg。 CDNなので、正確な動作(リダイレクトかどうか)は場所によって異なります。

curlデフォルトでは、リダイレクトはフォローしません。これを行うには、-Lパラメータを追加してください。

curl -L -O https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-osx10.11-x86_64.dmg

おすすめ記事