SharpBITS を使用して、AmazonS3 からファイルをダウンロードしています。
> // Create new download job. BitsJob
> job = this._bitsManager.CreateJob(jobName, JobType.Download);
> // Add file to job.
> job.AddFile(downloadFile.RemoteUrl, downloadFile.LocalDestination);
> // Resume
> job.Resume();
認証を必要としないファイルに対して機能します。ただし、AmazonS3 ファイル要求の認証クエリ文字列を追加するとすぐに、サーバーからの応答は http state 403 -unauthorized になります。URL はブラウザーでファイルを動作させます。
BIT サービスからの HTTP 要求は次のとおりです。
HEAD /mybucket/6a66aeba-0acf-11df-aff6-7d44dc82f95a-000001/5809b987-0f65-11df-9942-f2c504c2c389/v10/summary.doc?AWSAccessKeyId=AAAAZ5SQ76RPQQAAAAA&Expires=1265489615&Signature=VboaRsOCMWWO7VparK3Z0SWE%2FiQ%3D HTTP/1.1
Accept: */*
Accept-Encoding: identity
User-Agent: Microsoft BITS/7.5
Connection: Keep-Alive
Host: s3.amazonaws.com
Web ブラウザーからのものとの唯一の違いは、要求の種類です。Firefox は GET リクエストを行い、BITS は HEAD リクエストを行います。Amazon S3 HEAD リクエストとクエリ文字列認証に問題はありますか?
よろしく、ブレイズ