从其他服务器上下载数据.通过webclient

来源:互联网 发布:云计算概念股一览 编辑:程序博客网 时间:2024/06/12 00:59

 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

        
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为本地的文件存储地址。