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

作者:roucheng 时间:2022-05-19 10:43:24 

本文实例讲述了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#,WebClient,登录,抓取
0
投稿

猜你喜欢

  • 浅谈Java中的n种随机数产生办法

    2023-12-22 10:36:29
  • Idea springboot springCloud热加载热调试两种常用方式

    2021-06-11 22:20:06
  • SpringBoot AOP方式实现多数据源切换的方法

    2023-04-08 20:58:08
  • Android之ListView分页加载数据功能实现代码

    2023-08-13 03:44:17
  • Android自定义漂亮的圆形进度条

    2023-08-04 04:23:06
  • Java中抓取 Thread Dumps 的方式汇总

    2021-08-09 23:20:26
  • Unity实现答题系统的示例代码

    2022-05-09 18:31:00
  • 基于C#实现的三层架构实例

    2023-09-09 11:39:33
  • Java切割字符串的踩坑实战记录

    2023-02-05 14:13:25
  • SpringMVC通过RESTful结构实现页面数据交互

    2022-01-23 08:57:24
  • C#调用JS的几种方法

    2022-09-29 23:24:18
  • SpringMVC 如何使用注解完成登录拦截

    2023-11-18 02:20:11
  • Jmeter命令行执行脚本如何设置动态参数

    2021-07-09 20:39:49
  • C语言时间函数之strftime()详解

    2023-06-26 02:42:32
  • 详解Java分布式系统中一致性哈希算法

    2022-10-11 18:01:05
  • flutter图片组件核心类源码解析

    2023-09-14 16:29:00
  • java弹幕小游戏1.0版本

    2021-12-06 04:42:48
  • Android:利用SharedPreferences实现自动登录

    2023-05-24 07:53:33
  • c#检测文本文件编码的方法

    2021-09-16 03:33:43
  • IntellJ IDEA神器使用技巧(小结)

    2023-08-08 22:01:44
  • asp之家 软件编程 m.aspxhome.com