【问题标题】:Retrieve image for SharePoint - 401 error检索 SharePoint 的图像 - 401 错误
【发布时间】:2012-12-11 21:12:50
【问题描述】:

当我尝试从本地 SharePoint 网站获取图像时收到 401 消息。 尝试了许多凭据设置,但它们都返回相同的 401 错误。

var SharePointURL = "http://SharePointServer/Site/ImageFolder/image1.jpg";
System.Net.WebRequest req = System.Net.WebRequest.Create(SharePointURL);
req.Credentials = System.Net.CredentialCache.DefaultCredentials;
req.UseDefaultCredentials = true;              
System.Net.WebResponse response = req.GetResponse();
Stream stream = response.GetResponseStream();
System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
stream.Close();

任何帮助将不胜感激。

【问题讨论】:

  • 401 错误在 SharePoint 中很常见。但是 401.1、401.2、401.3 可以有不同的含义。查看 IIS 日志,看看究竟是什么 http 状态码,尤其是子状态码(子状态码不会发送到客户端,IIS 日志是唯一可以找到此信息的地方)。
  • 谢谢,我查看了 IIS 日志,但我什至找不到请求中使用的服务器名称?

标签: c# sharepoint


【解决方案1】:

我不知道为什么会这样,但我可以告诉你你可以做些什么来自己找出答案:

假设您在与运行 SharePoint 的计算机不同的计算机上运行代码,您需要在计算机上安装 Fiddler。获取它以拦截来自您的代码的请求和来自浏览器的相同请求。您应该能够看到请求之间的差异,这将有助于指导您了解问题的原因。您还可以使用 Fiddler 尝试更改参数,以便查看哪些标头因存在或不存在而导致问题。

如果您的代码发出与浏览器完全相同的请求,您将得到完全相同的响应。

如果您发现自己在所有这些之后仍然感到困惑,您是否知道 SharePoint 有 its own Stack Exchange.

【讨论】:

  • 谢谢,不知道 SharePoint 有自己的 SE。关于 Fiddler - 不幸的是,我无法在域中的任何机器上安装它。
  • 如果您有用于记录网络活动的 FireFox 开发者扩展,这将为您提供成功请求的图片,但这样比较会更难。我还会尽可能仔细地查看服务器上的 IIS 和 SharePoint 日志,以了解可以收集到多少信息。
  • 我现在已经设法在服务器上安装了 Fiddler,但它没有显示从 Web 应用程序到 SharePoint 的请求。它只显示从客户端到 Web 应用程序的请求??
  • 如果您只是将该代码粘贴到它自己的小应用程序中,它有什么不同吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多