我们已经在Amazon S3上托管供应商提供的文件已经有一段时间了,今天我们注意到我们的应用程序在尝试下载时收到此消息
未指定用户名/密码
我们点击了通过他们网站的文件,但它通过他们的S3帐户进入隧道。它是Https with Basic Auth,所以我们通过浏览器测试它,没有任何问题。这是我们用来调用它的代码
System.Uri responseUri = new System.Uri(DownloadFileLocation);
WebClient client = new WebClient ();
string authInfo = UserName + ":" + Password;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
client.Headers["Authorization"] = "Basic " + authInfo;
client.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.75 Safari/537.1");
client.Headers.Add("Accept: text/html,application/zip,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
client.Headers.Add("Accept-Encoding: gzip,deflate,sdch");
client.Headers.Add("Accept-Language: en-US,en;q=0.8");
client.Headers.Add("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3");
client.DownloadFile(responseUri, LocalFilePath);
当调用DownloadFile()方法时,我们得到上面的错误消息,没有任何其他指示。我在亚马逊开发者论坛上环顾四周,但没有看到任何东西。非常感谢任何帮助,谢谢
答案 0 :(得分:0)
Amazon S3不支持Basic Auth,所以我怀疑你实际上并没有直接点击S3,而是一些处理身份验证的中间层。那是你应该寻找问题和可能的解决方案。
有关当前支持的S3身份验证模式的信息,请查看:
http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html
答案 1 :(得分:0)
通过在他们身边修复基本身份验证的供应商