未指定用户名/密码呼叫亚马逊S3

本文关键字:呼叫 亚马逊 S3 密码 用户 未指定 | 更新日期: 2023-09-27 18:27:17

一段时间以来,我们一直在访问AmazonS3上托管的供应商提供的文件,并注意到今天我们的应用程序在尝试下载时收到了此消息

未指定用户名/密码

我们通过他们的网站找到了这个文件,但它通过隧道进入了他们的S3账户。它是带有基本身份验证的Https,所以我们通过浏览器进行了测试,没有出现任何问题。这是我们用来称之为的代码

  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()方法时,我们会得到上面的错误消息,没有任何其他指示。我在亚马逊开发者论坛上看了看,什么都没看到。如有任何帮助,我们将不胜感激,感谢

未指定用户名/密码呼叫亚马逊S3

AmazonS3不支持Basic Auth,所以我怀疑您实际上并不是直接访问S3,而是访问一些处理身份验证的中间层。这就是你应该寻找问题和可能的解决方案的地方。

有关当前支持的S3身份验证模式的信息,请查看:

http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html

通过修复端基本身份验证的供应商