C# 将获取指定路由页面内容

使用WebClient 类对象的DownloadString 属性获取内容

        WebClient 类主要用于从提供的Url 中获取资源以及向制定的Url 传输参数:详细的方法大家可以参考官方网站:WebClient 類別 (System.Net) | Microsoft Learn

	 //创建一个webclient对象
     WebClient web = new WebClient();
     //定义对象的编码语言,此处或者是gb2312
	 web.Encoding = System.Text.Encoding.UTF8;
     //获取页面的字符串
	 string mailHtml = web.DownloadString(bodyUrl); 
注意:编码分utf-8、gb2312,获取下载的内容时默认为“gb2312”,可能会存在乱码的问题,需要如上代码所示设置代码格式。

    使用C# Webrequest 类来获取

编程方式模拟web请求,利用webrequest可以实现 相当于一个浏览器请求一个网页的效果,获取返回结果;

//Get请求中请求参数等直接拼接在url中,WebRequest是抽象类,所以这里使用create 的声明方法
WebRequest request = WebRequest.Create(@"http://www.baidu.com");
//HttpWebRequest 支持 GET 和 POST 两种方式进行请求,
request.Method = "GET";
//HttpWebRequest 对象 使用 .GetResponse() 方法, 获取返回结果,
//.GetResponse() 返回的是一个 WebResponse 对象。
WebResponse resp = request.GetResponse();

//从网络资源中返回数据流
string str = resp.ToString();
Stream stream = resp.GetResponseStream();
StreamReader sr = new StreamReader(stream, Encoding.UTF8);

string result = sr.ReadToEnd();
Console.WriteLine(str);
//关闭流数据
stream.Close();
sr.Close();

         

上述就是C#  简单的使用get 方式请求目标路径,最后拿到了目标页面的HTML字符串

       以上就是对页面内容获取 WebClient 和 WebReqest 的使用,但是这两个类的用法远不止这些,又需要用到方法请求和感兴趣的小伙伴可以去 深入了解一下。下面列出WebRequst 类使用频率较高的的属性。

  1、HttpWebRequest 常用属性

  • AllowAutoRedirect:获取或设置一个值,该值指示请求是否应跟随重定向响应。
  • CookieContainer:获取或设置与此请求关联的cookie。
  • Credentials:获取或设置请求的身份验证信息。
  • KeepAlive:获取或设置一个值,该值指示是否与 Internet 资源建立持久性连接(长链接)。
  • MaximumAutomaticRedirections:获取或设置请求将跟随的重定向的最大数目。
  • Proxy:获取或设置请求的代理信息。
  • SendChunked:获取或设置一个值,该值指示是否将数据分段发送到 Internet 资源。
  • Timeout:获取或设置请求的超时值。
  • UserAgent:获取或设置 User-agent HTTP 标头的值
  • ContentType:Http内容类型
  • Headers:指定组成 HTTP 标头的名称/值对的集合。

 
2、HttpWebRequest  中的 ContentType

  • 普通文本: “text/plain”
  • JSON字符串: “application/json”
  • 数据流类型(文件流): “application/octet-stream”
  • 表单数据(键值对): “application/x-www-form-urlencoded”
  • 多分部数据: “multipart/form-data”

更多详细的属性和方法可以参考官网:
HttpWebRequest 类 (System.Net) | Microsoft Learn提供 WebRequest 类的 HTTP 特定的实现。icon-default.png?t=N7T8https://learn.microsoft.com/zh-cn/dotnet/api/system.net.httpwebrequest?view=net-6.0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值