ファイルをダウンロードするAPIを作成しました。
以下のようなURLをブラウザで叩いて、ダウンロードできることを確認しました。
http://127.0.0.1/download-sample.aspx/key/1234567890
これをwgetで実行しました。成功しました。
$ wget http://127.0.0.1:80/download-sample.aspx/key/1234567890 --2016-03-14 15:36:38-- http://127.0.0.1/download-sample.aspx/key/1234567890 127.0.0.1:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 236154 (231K) [audio/x-flac] `1234567890' に保存中 1234567890 100%[========================================================================================================================================>] 230.62K --.-KB/s in 0.01s 2016-03-14 15:36:42 (16.7 MB/s) - `1234567890' へ保存完了 [236154/236154]
さてここからが疑問なのです。
wgetにRangesのヘッダを加えて、部分的なダウンロードを行おうとすると、失敗するのです。
-tオプションを付与しているのは、再施行を延々と繰り返してしまうからです。
$ wget http://127.0.0.1:80/download-sample.aspx/key/1234567890 --header='Range: bytes=0-3000' -t 1 --2016-03-14 15:39:27-- http://127.0.0.1/download-sample.aspx/key/1234567890 127.0.0.1:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 206 Partial Content 中止しました。
このWebアプリはWindows Azureのエミュレータで動かしているのですが、ログを確認すると、アクセスログは以下のようになっていました。
2016-03-14 06:39:28 W3SVC1273337584 PC-0123 127.255.0.0 GET /download-sample.aspx/key/1234567890 - 81 - 127.0.0.1 HTTP/1.1 Wget/1.17.1+(cygwin) - - 127.0.0.1 206 0 0 3307 214 1240
エラーではなく、206というステータスで正しく終了しているように見えるのです。
Webアプリをデバッグしましたが、例外は発生しておりません。
このようなとき、原因をどう調べればいいのかが解りません。wgetの-vオプションをつけても出力結果は変わりません。
一応ブラウザではダウンロードできるので、wget側の問題なのかとも思うのですが、確証が持てません。
どなたか、原因について心当たりは無いでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/14 07:33