使用IE凭据登录c#

时间:2012-11-27 15:31:08

标签: c# webclient credentials

您好我正在编写一个HTML解析器来帮助完成一些工作职责, 我可以使用IE浏览器进入该网站。 但使用csharp代码我收到错误

我尝试过使用

client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Proxy.Credentials = CredentialCache.DefaultCredentials;

我没有得到所请求的页面,而是一个错误页面。 如果我可以在资源管理器中查看页面,必须有一种方法可以在C#中检索其html

(请注意,其他浏览器中的同一页面需要验证 - 不在IE中)

2 个答案:

答案 0 :(得分:1)

您可以尝试使用此库:https://github.com/HtmlUnit/NHtmlUnit

您可以使用html单元以编程方式执行html操作。更多信息可以在http://blog.stevensanderson.com/2010/03/30/using-htmlunit-on-net-for-headless-browser-automation/

找到

答案 1 :(得分:1)

问题在于请求标头,C#没有发送user-agnet标头标签, 我想如果遇到没有用户代理,我尝试连接的网站会返回错误。

添加以下行以将标头调整为我的IE标头:

WebClient client = new WebClient();
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.Proxy.Credentials = CredentialCache.DefaultCredentials;
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");