`
star65225692
  • 浏览: 277158 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

ASP.NET WebClient用法详解

 
阅读更多

下面我们将通过一个简单的应用程序来测试WebClient的最简单用法作为本小节的结束让大家对WebClient有个初步的认识
 
   例子1:利用WebClient实现对博客园首页的访问
 
    首先我们用HttpLook对这次访问进行分析,为了方便分析我特别将浏览器对图片的访问去掉 让我们能看到更简便的分析结果
  
     我们可以看到整个过程中我们发起了4次资源请求,其中第一次是对博客园首页进行访问
     第二次访问的是样式表文件,第三和四次访问的是js脚本。
     我们点击第一项可以看见关于这次资源访问的http头部信息,所谓http头部就是我们不能看见的浏览器和远程服务器传递的一些不可见元素。生活历程
1GET / HTTP/1.1
2Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
3Accept-Language: zh-cn
4UA-CPU: x86
5Accept-Encoding: gzip, deflate
6User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
7Host: www.cnblogs.com
8Connection: Keep-Alive
9Cookie: .DottextCookie=(隐藏)

  这些http信息包含了浏览器访问的过程。其中
  第一行:请求地址的相对路径和使用协议 相对路径为/ 协议采用http1.1
  第二行:表示我们请求的资源种类。
  第三行:我们的语言是简体中文。
  第四行:我们使用的cup结构。这个http头在一般的网页中并不过见。估计是博客园的一次调查??
  第五行:标示采用gzip方式压缩html编码进行传递。只有一些浏览器支持的gzip解压缩时采用这种方式传递文本。由于我们
  要写的程序不具备gzi解压缩的能力 所以我们不考虑使用这种方式发送请求。
  第六行:浏览器说明
  第七行:当前主机地址
  第八行:连接请求状态
  第九行:cookies信息
 
  我在新建的应用程序里面利用WebClient来实现这了一过程。
 
  下面我将就关键实现做一些解释
 1WebClient _client=new WebClient();
 2            _client.BaseAddress="http://www.cnblogs.com";
 3            _client.Headers.Add("Accept","image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
 4            _client.Headers.Add("Accept-Language","zh-cn");
 5            _client.Headers.Add("UA-CPU","x86");
 6            //_client.Headers.Add("Accept-Encoding","gzip, deflate");
 7            _client.Headers.Add("User-Agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)");
 8            System.IO.Stream objStream=_client.OpenRead("/");
 9            System.IO.StreamReader _read=new System.IO.StreamReader(objStream,System.Text.Encoding.UTF8);
10            textBox1.Text=_read.ReadToEnd();


  第一行:新建一个WebClient 实例_client
  第二行~第七行:将上边捕捉到的Http头部放入到_client实例,注意第六行的被注释掉了。因为我们的程序无法进行gzip解码所以如果这样请求
  获得的资源可能无法解码。当然我们可以给程序加入gzip处理的模块 那是题外话了。
  第八行:利用_client.OpenRead(string URI)的方法获取网上资源的Stream
  第九行:利用StreamReader将Stream用我们需要的编码方法去解析。这里使用了UTF8。对应不同的网站可以使用Default等不同的解码方法。
  第十行:将我们解码后的内容放到textBox1里面显示出来

  好了 大致关于WebClient的介绍就到这里了。以后将为大家陆续介绍WebClient的各种属性和方法。
  利用WebClient做个资源小偷其实是很简单的,所以大家一定要防盗链阿!!!

分享到:
评论

相关推荐

    asp.net网页post提交

    ### ASP.NET网页Post提交详解 在ASP.NET应用开发过程中,数据提交是不可或缺的一部分,而其中最常见的数据提交方式之一就是Post提交。本文将详细介绍ASP.NET网页中的Post提交方式,并通过具体的代码示例来帮助读者...

    使用ASP.NET实现网络通讯.pdf

    ### 使用ASP.NET实现网络通讯 #### 一、概述 在《使用ASP.NET实现网络通讯》这一课程中,讲师邵志东介绍了如何利用ASP.NET来进行网络通信。本课程主要围绕System.Net命名空间展开,该命名空间提供了多种类和方法来...

    C# winform .net图片管理系统

    这通常由ASP.NET Web API或ASP.NET Core MVC实现,定义HTTP POST和GET方法,接收上传的图片数据并返回下载链接。 六、运行环境 本系统需要在支持.NET Framework 3.5或更高版本的环境中运行,例如Visual Studio 2008...

    Visual C#.NET中文版Webservice服务

    首先,创建一个新的ASP.NET Web Application项目,然后在解决方案资源管理器中添加一个新的WebService(.asmx文件)。在这个.asmx文件中,我们将定义服务的公共方法,这些方法将作为对外暴露的接口。 例如,假设...

    C# WinForm 上传图片 文件到服务器的方法

    在实际应用中,上传文件的功能可以通过多种方式实现,例如使用ASP.NET WebService、Web API 或者 ASP.NET 页面等。而在本案例中,采用的是`ashx`文件处理的方式。`ashx`文件是ASP.NET中用于处理HTTP请求的一种轻量级...

    webservice调用常见问题

    开发者可能会遇到一个常见的问题:在建立了Web Service应用程序之后,尝试在ASP.NET环境中调用该服务时,往往会出现调用失败的情况,并且会收到“本窗口只能在本机使用”的错误提示。本文将详细介绍这一问题的原因...

    C#编写的ajax控件源码

    8. **自定义控件**:在ASP.NET中,可以通过继承`System.Web.UI.WebControls.DropDownList`控件或创建新的用户控件来实现这个功能,添加额外的方法和属性以支持AJAX交互。 9. **性能优化**:为了确保良好的用户体验...

    WebService实例

    1. **创建ASMX文件**:使用Visual Studio,你可以创建一个新的ASP.NET Web Application项目,然后添加一个ASMX文件。这个文件将包含你的WebService方法定义。 2. **定义WebService方法**:在ASMX文件中,你可以声明...

    文件下载代码

    这种方法也是适用于ASP.NET Web应用程序,可以用来传输文件并设置HTTP头部信息,如文件名和长度等。 ```csharp protected void Button2_Click(object sender, EventArgs e) { string fileName = "asd.txt"; ...

    c# 操作webservice(经典入门教程+MSDN).docx

    - ASP.NET Web Forms、ASP.NET MVC等框架都提供了方便的WebService调用方式。 总的来说,C#操作WebService涉及到了XML、SOAP、WSDL、UDDI等多个技术,它们共同构成了Web服务的核心通信机制。在.NET环境下,开发者...

    Silverlight入门教程.pdf

    - 决定是否嵌入到现有的ASP.NET Web项目中。 2. **项目结构**: - **默认文件**: - App.xaml: 应用配置。 - MainWindow.xaml: 主窗口。 - **编译生成**: - TerryLee.SilverlightDemo2.xap: 包含所有资源和...

    C#MVC实现票务系统.rar

    在C#环境下,ASP.NET MVC框架提供了强大的支持,简化了开发流程。 在创建票务系统时,首先我们需要设计数据模型。这可能包括票类(Ticket)、演出类(Performance)、用户类(User)等。例如,票类可能包含票号、...

    C#面试题(近期在各公司中比较流行的面试题)

    - **身份验证与授权**:探讨ASP.NET的身份验证机制,如Forms Authentication和OAuth。 以上是近期流行的C#面试题中涵盖的一些核心知识点。熟练掌握这些内容不仅能帮助求职者在面试中表现出色,也为实际项目开发...

    一步一步学Silverlight系列.pdf

    - 在ASP.NET页面中集成Silverlight应用通常需要引用System.Web.Silverlight程序集,并使用`<asp:Silverlight>`控件。 - `<asp:Silverlight>`控件的`Source`属性用于指定.xap文件的位置。 #### 三、Silverlight基础...

    C#图片高质量合成

    - 使用`System.Net`命名空间中的`WebClient`类来下载指定URL的图片资源。 - 代码片段示例:`WebClient wc = new WebClient();` `wc.DownloadFile(TemplateImgUrl, backgroud);` 2. **图片处理** - **加载图片*...

    Silverlight 2教程

    - **使用方法**:通过在XAML文件中编写相应的标记来使用这些控件,例如`!" />`。 **3. 界面布局** - **布局容器**:Silverlight支持多种布局容器,如Grid、StackPanel等,用于组织界面元素。 - **布局策略**:不同...

Global site tag (gtag.js) - Google Analytics