在HttpTests有一种方法,使用有没有一种方法可以在Html Agility Pack中验证经过Windows验证的用户?
request.Credentials = CredentialCache.DefaultCredentials;
认证是有类似的HTML敏捷性包的东西吗?我想测试我的本地项目,但它的接收:
HTTP错误401.2 - 未经授权您无权查看此页
在HttpTests有一种方法,使用有没有一种方法可以在Html Agility Pack中验证经过Windows验证的用户?
request.Credentials = CredentialCache.DefaultCredentials;
认证是有类似的HTML敏捷性包的东西吗?我想测试我的本地项目,但它的接收:
HTTP错误401.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文件作为绑定。提供了一个例子。
我发现了一个博客由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; });
谢谢,这是对我来说最有帮助的响应 – sh4d0w
对于Windows身份验证,这绝对有效 –