HttpRequest:通过AuthLogin

我需要创建一个简单的程序,使用给定的凭据记录到某个网站,然后导航到某个元素(链接)。 它甚至可能(我的意思是这个Authlogin的东西)?

编辑:抱歉 – 我在我的公司机器上,我无法点击“投票”或“添加评论” – 页面上写着“完成,但页面上有错误”(IE ..)。 我非常感谢您的回答和评论,您帮助了我很多!

主要的事情是:

  1. 开始使用Fiddler来查看需要发送的内容以及以何种方式发送
  2. 假设我们正在谈论一个普通的Web表单,您可能需要在WebRequest使用CookieContainer以接受来自登录请求的cookie,然后在发送后续请求时重新提供它们(这种上下文不是自动的)由HttpWebRequest维护): –

     CookieContainer _cookieContainer = new CookieContainer(); ((HttpWebRequest)request).CookieContainer = _cookieContainer; 

是。 有可能的。

看下面的代码:

  HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(uri); req.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequested; req.Credentials = new NetworkCredential("admin", "admin"); req.PreAuthenticate = true; 

它部分取决于登录过程的管理方式。 这实际上是通过网络表单完成的吗? 如果是这样,您需要发布表单,就像普通浏览器一样。

如果通过HTTP身份validation完成,您应该能够在Web请求中设置凭据,告诉它预先进行身份validation,并且一切都应该正常。