欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-05 14:45:46
本文实例讲述了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#程序设计有所帮助。