网站首页 > 资源文章 正文
网络
在网络环境下,我们最感兴趣的两个名称空间是 system.Net 和 system,Net.sockets,system.Net 名称空间通常与较高层的操作有关。
WebClient类
Mircsoft在dotnet1.1框架下提供的向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。通过这个类,大家可以在脱离浏览器的基础上模拟浏览器对互联网上的资源的访问和发送信息。WebClient类不能被继承,在dotnet1.1框架中已经为我们提供了WebRequest和WebResponse两个强大的类来处理向URI标示的资源和获取数据了。然后,不足的是利用WebRequest和WebResponse时设置过于复杂。使用起来颇为费劲。于是乎有了现在的WebClient,WebClient其实可以理解为对WebRequest和WebResponse等协作的封装。它使人们使用起来更加简单方便,然后它也有先天不足的地方。那就是缺少对cookies/session的支持,用户无法对是否自动url转向的控制,还有就是缺少对代理服务器的支持。关于session/url转向控制/代理服务器的使用我将在以后关于WebRequest/WebResponse的话题里面向大家介绍。
BaseAddress | 获取或设置 WebClient 发出请求的基 URI。 |
Container(从 Component 继承) | 获取 IContainer,它包含 Component。 |
Credentials | 获取或设置用于对象 Internet 资源的请求进行身份验证的网络凭据。 |
Headers | 获取或设置与请求关联的标头名称/值对集合。 |
QueryString | 获取或设置与请求关联的查询名称/值对集合。 |
ResponseHeaders | 获取与响应关联的标头名称/值对集合。 |
Site(从 Component 继承) | 获取或设置 Component 的 ISite。 |
DownloadData | 从具有指定 URI 的资源下载数据。 |
DownloadFile | 从具有指定 URI 的资源将数据下载到本地文件。 |
OpenRead | 为从具有指定 URI 的资源下载的数据打开一个可读的流。 |
OpenWrite | 为从具有指定 URI 的资源下载的数据打开一个可读的流。 |
UploadData | 已重载。将数据缓冲区上载到具有指定位置 URI 的资源。 |
UploadFile | 已重载。将本地文件上载到具有指定 URI 的资源。 |
UploadValues | 已重载。将名称/值集合上载到具有指定位置 URI 的资源。 |
WebClient client = new WebClient();
client.Headers.Add("UserAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75");
Stream stream = client.OpenRead("http://www.baidu.com");
StreamReader sr = new StreamReader(stream);
string content = sr.ReadToEnd();
stream.Close();
sr.Close();
Console.WriteLine(content);
Console.ReadKey();
WebClient client = new WebClient();
client.Headers.Add("UserAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75");
client.DownloadFile("http://www.baidu.com", @"d:\i.html");
Console.ReadKey();
下载一个文件
WebRequest类和WebResponse类
HttpWebRequest request =(HttpWebRequest) WebRequest.Create("http://www.baidu.com");
request.Headers.Add("UserAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75");
request.Method = "GET";
request.Credentials = CredentialCache.DefaultCredentials;
WebResponse response = request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
string content = sr.ReadToEnd();
response.Close();
Console.WriteLine(content);
Console.ReadKey();
WebProxy wp = new WebProxy("192.168.0.100:8080", true);
wp.Credentials = new NetworkCredential("user", "123456");
request.Proxy = wp;
代理服务器用的
猜你喜欢
- 2024-09-09 什么是双子座扩展?让谷歌的聊天机器人比ChatGPT更智能
- 2024-09-09 微信公众号开发获取微信用户openid及访问url身份认证方式
- 2024-09-09 生产环境url告警检测--通过curl来获取http各阶段时间
- 2024-09-09 虚拟主机可以安装宝塔吗?(虚拟主机可以安装宝塔吗)
- 2024-09-09 SEO必知:如何将顶级域名做301重定向到www二级域名
- 2024-09-09 网站页面绝对路径相对路径有哪些优缺点?
- 2024-09-09 nPlayer Plus| 付费软件已购共享(nplayer付费版分享)
- 2024-09-09 Java面试笔试必考题总结(java面试题整理)
- 2024-09-09 教学笔记:HTTP状态码之300段系列码
- 2024-09-09 nginx实现url重写实例参考(nginx url重定向)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)