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

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

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

roucheng   2021-03-24 我要评论
想了解C#使用WebClient登录网站并抓取登录后的网页信息实现方法的相关内容吗,roucheng在本文为您仔细讲解C# WebClient登录网站并抓取登录后的网页信息的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,WebClient,登录网站,抓取,登录后,网页信息,下面大家一起来学习吧。

本文实例讲述了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#程序设计有所帮助。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们