2012-10-31 80 views

回答

2

有没有一种方式来验证窗口身份验证的用户Html敏捷包?

没有,

什么是完全Html Agility Pack(HAP)?

这是一个敏捷的HTML解析器,它构建了一个读/写DOM并支持普通的XPATH或XSLT。

它是一个.NET代码库,允许您解析“网络外”HTML文件。解析器对“真实世界”格式错误的HTML非常宽容。对象模型与提出System.Xml非常相似,但是对于HTML文档(或流)。

Html Agility Pack现在支持Linq to Objects(通过LINQ to Xml Like界面)。

示例应用程序:

页固定或代:您可以修复页面,你所希望的方式,修改DOM,增加节点,复制节点,嗯......你的名字。

网页扫描仪:你可以很容易地与一堆XPATH查询到达img/src或a/hrefs。

Web铲除器:您可以轻松地将任何现有的Web页面废弃为RSS源,例如只需一个XSLT文件作为绑定。提供了一个例子。

Html Agility Code Examples

7

我发现了一个博客由Jon浩:http://blog.jongallant.com/2012/07/htmlagilitypack-windows-authentication.html#.UJEQam8xol8

创建HtmlWeb的新实例,创建一个新的WebProxy这台UseDefaultCredentials为true,将创建一个名为上WebLOAD的文件新的变量设置网址到GET请求,插入默认凭证并获取应用程序的系统凭证。

  var web = new HtmlWeb(); 
     web.PreRequest = delegate(HttpWebRequest webRequest) 
     { 
     webRequest.Timeout = 1200000; 
     return true; 
     }; 
     var proxy = new WebProxy() { UseDefaultCredentials = true }; 
     var doc = web.Load("http://localhost:2120", "GET", proxy, 
     CredentialCache.DefaultNetworkCredentials); 


     var linksOnPage = from lnks in document.DocumentNode.Descendants() 
          where lnks.Name == "a" && 
           lnks.Attributes["href"] != null && 
           lnks.InnerText.Trim().Length > 0 

          select new 
          { 
           Url = lnks.Attributes["href"].Value, 
           Text = lnks.InnerText 
          }; 

     linksOnPage.All(t => { Console.WriteLine(t.Text + " : " + t.Url); return true; }); 
+0

谢谢,这是对我来说最有帮助的响应 – sh4d0w

+0

对于Windows身份验证,这绝对有效 –

相关问题