1

我正在尝试从驻留在 Intranet 上的页面中获取数据。Intranet 基于 SharePoint。地址如下所示:http ://collab.intranet.com/Pages/Default.aspx 。

我正在使用 HTML Agility Pack (.NET) 来获取数据,我已经在外部网页上而不是 Intranet 上工作。我可以通过浏览器访问 Intranet 页面。

编辑:所以问题是:您如何授予对需要访问 SharePoint Intranet 页面的程序的访问权限?

我用来检索数据的代码(C#):

String webpage = "http://collab.intranet.com/Pages/Default.aspx";
String mainTarget = "table";
String mainAttribute = "id";
String mainId = "activeProjects";

var webGet = new HtmlWeb();
var document = webGet.Load(webpage);

var partOfWebpage = from completeWebpage in document.DocumentNode.Descendants(mainTarget)
                            where
                                 completeWebpage.Attributes[mainAttribute] != null &&
                                 completeWebpage.Attributes[mainAttribute].Value == mainId &&
                                 completeWebpage.Attributes[mainAttribute].Value != null
                            select completeWebpage.InnerHtml;
4

1 回答 1

2

没关系,经过一番挖掘和反复试验,我找到了解决方案。由于 Intranet 基于 SharePoint,因此可以使用WebService 库并调用“SharePoint 列表”。但我也发现以下代码让我可以访问 SharePoint 页面:

WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultCredentials;

然后,我可以在客户端的帮助下将页面下载为字符串,然后通过HTML Agility Pack将其传递给我想要的东西。

于 2012-06-14T07:44:09.760 回答