http://freemusicarchive.orgからトラックをダウンロードしようとしています。一般的に言えば、トラック URL に /download を追加することでファイルをダウンロードできます。これは、S3 上のアセットへのリダイレクトで応答します。
たとえば、次のリンクを試してください: http://freemusicarchive.org//music//Zola_Jesus//Live_at_WFMU_on_Scott_McDowells_Show_1709//Odessa/download
リダイレクトを表示するには、そのリンクをここに配置します: http://www.wheregoes.com/retracer.php
次のようなコードでリダイレクトの場所を取得できます。
req, err := http.NewRequest("GET", url, nil)
errHndlr(err)
transport := http.Transport{}
resp, err := transport.RoundTrip(req)
defer resp.Body.Close()
errHndlr(err)
redirect := resp.Header.Get("Location")
リダイレクト リンクをコンソールに出力し、コピーしてブラウザに貼り付けることで、リダイレクト リンクが機能することを確認しましたが、同じ URL で http.Get を呼び出すと、AWS から「SignatureDoesNotMatch」エラーが発生します。
ここで何がうまくいかないのかについて誰かが洞察を提供できるなら、私はそれを大いに感謝します.