HttpRequest:通过AuthLogin
我需要创建一个简单的程序,使用给定的凭据记录到某个网站,然后导航到某个元素(链接)。 它甚至可能(我的意思是这个Authlogin的东西)?
编辑:抱歉 – 我在我的公司机器上,我无法点击“投票”或“添加评论” – 页面上写着“完成,但页面上有错误”(IE ..)。 我非常感谢您的回答和评论,您帮助了我很多!
主要的事情是:
- 开始使用Fiddler来查看需要发送的内容以及以何种方式发送
-
假设我们正在谈论一个普通的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,并且一切都应该正常。