导出 (0) 打印
全部展开

WebClient 类

提供向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。

命名空间:System.Net
程序集:System(在 system.dll 中)

[ComVisibleAttribute(true)] 
public class WebClient : Component
/** @attribute ComVisibleAttribute(true) */ 
public class WebClient extends Component
ComVisibleAttribute(true) 
public class WebClient extends Component

WebClient 类提供向 URI 标识的任何本地、Intranet 或 Internet 资源发送数据以及从这些资源接收数据的公共方法。

WebClient 类使用 WebRequest 类提供对资源的访问。WebClient 实例可以通过任何已向 WebRequest.RegisterPrefix 方法注册的 WebRequest 子代访问数据。

Note注意

默认情况下,.NET Framework 支持以 http:https:、ftp:、和 file: 方案标识符开头的 URI。

下表描述用于将数据上载到资源的 WebClient 方法。

方法

说明

OpenWrite

检索一个用于将数据发送到资源的 Stream

OpenWriteAsync

检索 Stream,它在不阻止调用线程的情况下将数据发送到资源。

UploadData

将字节数组发送到资源,并返回包含任何响应的 Byte 数组。

UploadDataAsync

在不阻止调用线程的情况下,将 Byte 数组发送到资源。

UploadFile

将本地文件发送到资源,并返回包含任何响应的 Byte 数组。

UploadFileAsync

在不阻止调用线程的情况下,将本地文件发送到资源。

UploadValues

NameValueCollection 发送到资源,并返回包含任何响应的 Byte 数组。

UploadValuesAsync

在不阻止调用线程的情况下,将 NameValueCollection 发送到资源,并返回包含任何响应的 Byte 数组。

UploadString

在不阻止调用线程的情况下,将 String 发送到资源。

UploadStringAsync

在不阻止调用线程的情况下,将 String 发送到资源。

下表描述从资源下载数据的 WebClient 方法。

方法

说明

OpenRead

从资源以 Stream 的形式返回数据。

OpenReadAsync

在不阻止调用线程的情况下,从资源返回数据。

DownloadData

从资源下载数据并返回 Byte 数组。

DownloadDataAsync

在不阻止调用线程的情况下,从资源下载数据并返回 Byte 数组。

DownloadFile

从资源将数据下载到本地文件。

DownloadFileAsync

在不阻止调用线程的情况下,将数据从资源下载到本地文件。

DownloadString

从资源下载 String 并返回 String

DownloadStringAsync

在不阻止调用线程的情况下,从资源下载 String

您可以使用 CancelAsync 方法取消尚未完成的异步操作。

默认情况下,WebClient 实例不发送可选的 HTTP 报头。如果您的请求需要可选报头,必须将该报头添加到 Headers 集合。例如,要在响应中保留查询,必须添加用户代理报头。此外,如果用户代理标头丢失,服务器可能返回 500(内部服务器错误)。

WebClient 实例中,AllowAutoRedirect 设置为 true

给继承者的说明 派生类应调用 WebClient 的基类实现,以确保派生类按预期方式工作。

下面的代码示例接受资源的 URI,检索它,然后显示响应。

using System;
using System.Net;
using System.IO;

public class Test
{
    public static void Main (string[] args)
    {
        if (args == null || args.Length == 0)
        {
            throw new ApplicationException ("Specify the URI of the resource to retrieve.");
        }
        WebClient client = new WebClient ();

        // Add a user agent header in case the 
        // requested URI contains a query.

        client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

        Stream data = client.OpenRead (args[0]);
        StreamReader reader = new StreamReader (data);
        string s = reader.ReadToEnd ();
        Console.WriteLine (s);
        data.Close ();
        reader.Close ();
    }
}

  • WebPermission  用于访问所请求的 URI 或请求被重定向到的任何 URI。关联的枚举:Connect

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

Windows 98、Windows 2000 SP4、Windows Millennium Edition、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

.NET Framework

受以下版本支持:2.0、1.1、1.0

社区附加资源

添加
显示:
© 2014 Microsoft