当前位置: 代码网 > it编程>编程语言>Asp.net > C#利用WebClient和WebRequest获取网页源代码的示例代码

C#利用WebClient和WebRequest获取网页源代码的示例代码

2026年03月18日 Asp.net 我要评论
webclient类获取网页源代码webclient类在system.net命名空间下,webclient类向uri标识的任何本地、intranet或internet资源发送数据以及从这些资源接收数据

webclient类获取网页源代码

webclient类在system.net命名空间下,webclient类向uri标识的任何本地、intranet或internet资源发送数据以及从这些资源接收数据的方法。

using system.io;
using system.net;
using system.text;

pageurl = "http://www.webkaka.com"; //获取源代码的网页
webclient wc = new webclient(); // 创建webclient实例提供向uri 
wc.credentials = credentialcache.defaultcredentials; // 获取或设置internet 请求进行身份验证的网络凭据。

encoding enc = encoding.getencoding("gb2312"); // 乱码就改成 utf-8 或 gb2312
byte[] pagedata = wc.downloaddata(pageurl); 
contenthtml.text = enc.getstring(pagedata); // 输出字符串html代码

webrequest类获取网页源代码

webrequest类是.net framework中“请求/响应”模型的abstract基类,用于访问internet数据。应用程序处理webrequest类的实例,而协议特定的子类则执行请求的具体细节,请求从应用程序发送到某个特定的uri。注册webrequest子类通常是为了处理某个特定的协议(如http或ftp),但是也可以注册它以处理对特定服务器或服务器上的路径的请求。

webrequest类中最常用的是create方法,为指定的uri方案初始化新的webrequest实例。

public static webrequest create
(
  string requesturistring
)

注意:create方法将运行时 webrequest 类的子类作为与requesturi最接近的注册匹配项返回。如,以http://的uri在requesturi中传递时,由create返回httpwebrequest。如果为传递以file://开头的uri,则create将返回filewebrequest实例。.

webresponse类是abstract基类,特定的响应类从该抽象基类派生。而从webresponse类派生的协议特定的类携带请求的详细信息。

public virtual webresponse getresponse ()

  返回值:对internet请求的响应的webresponse。
using system.io;
using system.net;
using system.text;
pageurl = "http://www.webkaka.com"; //获取源代码的网页
webrequest request = webrequest.create(pageurl); //返回webrequest的子类httpwebrequest
webresponse response = request.getresponse(); //返回对 internet 请求的响应
stream resstream = response.getresponsestream(); //从 internet 资源返回数据流。 
encoding enc = encoding.getencoding("gb2312"); // 乱码就改成 utf-8 / gb2312
streamreader sr = new streamreader(resstream, enc); //以一种特定的编码从字节流中读取字符。 
contenthtml.text = sr.readtoend(); //输出html代码
sr.close();

到此这篇关于c#利用webclient和webrequest获取网页源代码的示例代码的文章就介绍到这了,更多相关c#获取网页源代码的方法内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com