webClient提供发送数据以及从url标识的资源获得数据的常用方法.
webClient使用webRequest类提供访问internet资源的方式.
webClient一更高的级别封装webRequest类,并提取了大部分的细节.
用webClient下载文件和得到html代码的例子:
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Net; using System.IO; namespace ASPNETWORK ... { /**//// <summary> /// _01WebClient 的摘要说明。 /// </summary> public partial class _01WebClient : System.Web.UI.Page ...{ protected void Page_Load(object sender, System.EventArgs e) ...{ // 在此处放置用户代码以初始化页面 } Web Form Designer generated code#region Web Form Designer generated code override protected void OnInit(EventArgs e) ...{ // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /**//// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() ...{ } #endregion protected void btnGet_Click(object sender, System.EventArgs e) ...{ try ...{ WebClient client = new WebClient(); Stream response = client.OpenRead(tbURL.Text); //通过url得到文件流 connect.Text = ""; int nByteData; do ...{ nByteData = response.ReadByte(); if(nByteData>0) connect.Text += Convert.ToChar(nByteData); }while(nByteData>0); response.Close(); } catch(Exception ex) ...{ tbContent.Text = ex.Message.ToString(); } } protected void btnDownload_Click(object sender, System.EventArgs e) ...{ try ...{ WebClient client = new WebClient(); string strDes = "c:/temp/"+Path.GetFileName(tbAddress.Text); client.DownloadFile(tbAddress.Text,strDes); //文件地址 lbInfo.Text = "目标地址为:"+strDes; } catch(Exception ex) ...{ lbInfo.Text = ex.Message.ToString(); } } }}
Path.GetFileName(tbAddress.Text)通过文件下载路径得到文件名。
client.DownloadFile(a,b)将文件下载到本地.a为文件网络中的下载地址,b为本地的文件存储地址。