当前位置: 移动技术网 > IT编程>开发语言>c# > C#使用WebClient登录网站并抓取登录后的网页信息实现方法

C#使用WebClient登录网站并抓取登录后的网页信息实现方法

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了c#使用webclient登录网站并抓取登录后的网页信息实现方法。分享给大家供大家参考,具体如下: c#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器

本文实例讲述了c#使用webclient登录网站并抓取登录后的网页信息实现方法。分享给大家供大家参考,具体如下:

c#登录网站实际上就是模拟浏览器提交表单,然后记录浏览器响应返回的会话cookie值,再次发送请求时带着这个会话cookie值去请求就可以实现模拟登录的效果了。

如下类cookieawarewebclient实现在发送请求时都带着cookie。

public class cookieawarewebclient : webclient
{
  private cookiecontainer cookie = new cookiecontainer();
  protected override webrequest getwebrequest(uri address)
  {
    webrequest request = base.getwebrequest(address);
    if (request is httpwebrequest)
    {
      (request as httpwebrequest).cookiecontainer = cookie;
    }
    return request;
  }
}

如下是模拟表单提交登录的使用示例:

var client = new cookieawarewebclient();
client.baseaddress = @"https://hovertree.net/any/base/url/";
var logindata = new namevaluecollection();
logindata.add("login", "yourlogin");
logindata.add("password", "yourpassword");
client.uploadvalues("login.php", "post", logindata);
//now you are logged in and can request pages
string htmlsource = client.downloadstring("index.php");

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#编码操作技巧总结》、《c#中xml文件操作技巧汇总》、《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结

希望本文所述对大家c#程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网