WebClient 类

2013/12/13

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

System.Object
  System.Net.WebClient

Namespace:  System.Net
程序集:  System.Net(位于 System.Net.dll 中)

public class WebClient

WebClient 类型公开以下成员。

  名称说明
公共方法WebClient初始化 WebClient 类的新实例。
返回顶部

  名称说明
公共属性AllowReadStreamBuffering获取或设置一个值,该值指示是否对从某一 WebClient 实例的 Internet 资源读取的数据进行缓冲处理。
公共属性AllowWriteStreamBuffering获取或设置一个值,该值指示是否对写入到 WebClient 实例的 Internet 资源的数据进行缓冲处理。
公共属性BaseAddress获取或设置 WebClient 发出请求的基 URI。
公共属性Credentials获取或设置发送到主机并用于对请求进行身份验证的网络凭据。
公共属性Encoding获取和设置用于上载和下载字符串的 Encoding
公共属性Headers获取或设置与请求关联的标头名称/值对集合。
公共属性IsBusy获取一个值,该值指示某一 Web 请求是否处于进行中。
公共属性ResponseHeaders获取与响应关联的标头名称/值对集合。
公共属性UseDefaultCredentials获取或设置一个 Boolean 值,该值控制默认凭据是否随请求一起发送。
返回顶部

  名称说明
公共方法CancelAsync取消一个挂起的异步操作。
公共方法DownloadStringAsync(Uri)以字符串形式下载位于指定 Uri 的资源。
公共方法DownloadStringAsync(Uri, Object)以字符串形式下载位于指定 Uri 的资源。
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
受保护的方法GetWebRequest为指定资源返回一个 WebRequest 对象。
受保护的方法GetWebResponse使用指定的 IAsyncResult 返回指定 WebRequestWebResponse
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
受保护的方法OnDownloadProgressChanged引发 DownloadProgressChanged 事件。
受保护的方法OnDownloadStringCompleted引发 DownloadStringCompleted 事件。
受保护的方法OnOpenReadCompleted引发 OpenReadCompleted 事件。
受保护的方法OnOpenWriteCompleted引发 OpenWriteCompleted 事件。
受保护的方法OnUploadProgressChanged引发 UploadProgressChanged 事件。
受保护的方法OnUploadStringCompleted引发 UploadStringCompleted 事件。
受保护的方法OnWriteStreamClosed引发 WriteStreamClosed 事件。
公共方法OpenReadAsync(Uri)打开流向指定资源的可读流。
公共方法OpenReadAsync(Uri, Object)打开流向指定资源的可读流。
公共方法OpenWriteAsync(Uri)打开一个流以将数据写入指定的资源。此方法不会阻止调用线程。
公共方法OpenWriteAsync(Uri, String)打开一个流以将数据写入指定的资源。此方法不会阻止调用线程。
公共方法OpenWriteAsync(Uri, String, Object)打开一个流以使用指定的方法向指定的资源写入数据。此方法不会阻止调用线程。
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法UploadStringAsync(Uri, String)将指定的字符串上载到指定的资源。此方法不会阻止调用线程。
公共方法UploadStringAsync(Uri, String, String)将指定的字符串上载到指定的资源。此方法不会阻止调用线程。
公共方法UploadStringAsync(Uri, String, String, Object)将指定的字符串上载到指定的资源。此方法不会阻止调用线程。
返回顶部

  名称说明
公共事件DownloadProgressChanged在异步下载操作成功传输部分或全部数据后发生。
公共事件DownloadStringCompleted在异步资源下载操作完成时发生。
公共事件OpenReadCompleted在异步资源读取操作完成时发生。
公共事件OpenWriteCompleted在打开流以将数据写入资源的异步操作完成时发生。
公共事件UploadProgressChanged在异步上载操作成功传输部分或全部数据后发生。
公共事件UploadStringCompleted在异步字符串上载操作完成时发生。
公共事件WriteStreamClosed在异步写入流操作完成时发生。
返回顶部

WebClient 类使用 WebRequest 类提供对资源的访问。

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

方法

说明

OpenWriteAsync

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

UploadStringAsync

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

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

方法

说明

DownloadStringAsync

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

OpenReadAsync

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

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

默认情况下,WebClient 实例不发送可选的 HTTP 报头。如果您的请求需要可选报头,必须将该报头添加到 Headers 集合。

某些标头被视为受限制,它们或者直接公开(如 Content-Type),或者受到系统保护,不能在 WebHeaderCollection 对象中设置。尝试使用 Item[HttpRequestHeader]Item[String] 属性在 WebHeaderCollection 对象中设置这些标头之一,或者引发某一异常。如果 WebHeaderCollection 对象与某一 HttpWebRequest 对象相关联,则该异常由 Item[HttpRequestHeader] 属性引发。如果 WebHeaderCollection 对象与某一 WebClient 对象相关联,则在尝试发送 WebClient 请求时将引发该异常。

有关受限标头的列表,请参见 WebHeaderCollection 类中的"备注"。

跨域连接允许应用程序从不是原始站点的位置访问资源。这是一个重要的功能,使应用程序可以使用 Web 上的现有服务。安全策略系统要求必须从某一网络资源下载某一策略文件,然后才允许网络连接访问该资源。此安全策略系统影响 WebClient 的跨域网络访问以及 System.Net 命名空间中的 HTTP 类。用于 WebClient 的网络连接以及针对源站点或源主机的 HTTP 类不要求某一安全策略。

出于安全原因,限制从 System.Net 命名空间中的 WebClient 和 HTTP 类对某些 URL 类的访问。存在若干对其他类应用的类似访问限制,这些类包括 System.Windows.Controls 命名空间中的 ImageMediaElement 类。还基于 URL 的类对 XAML 源文件和字体文件应用访问限制。

影响的连接是对跨区域、跨域和跨方案 URL 的访问。这些限制旨在用于阻止网络威胁。

出于安全原因,除非特定标头得到适用于目标跨域站点的安全策略的允许,否则,将限制 WebClient 类将特定标头发送到跨域站点。此限制适用于来自原始网站之外的地点的资源。使用 Headers 属性可设置 Authorization 标头。但是,若要正确地设置凭据,适用于该目标的跨域策略必须具有 HTTP 请求标头设置,以允许发送授权标头。

功能

如果您在应用中使用此 API,您必须在应用清单中指定下列功能。否则,您的应用可能无法正常工作,或可能意外退出。

ID_CAP_NETWORKING

Windows Phone 8, Windows Phone OS 7.1

有关更多信息,请参见 Windows Phone 应用的功能和硬件要求

版本说明

Windows Phone

 同时允许六个活动 Web 服务连接。其他请求将暂停,直到连接可用。

对继承者的说明

派生类应调用 WebClient 的基类实现,以确保派生类按预期方式工作。

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2014 Microsoft