WebClient クラス

定義

URI で識別されるリソースとの間でデータを送受信するための共通のメソッドが用意されています。

public ref class WebClient : System::ComponentModel::Component
public ref class WebClient sealed : System::ComponentModel::Component
public class WebClient : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class WebClient : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public class WebClient : System.ComponentModel.Component
type WebClient = class
    inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClient = class
    inherit Component
Public Class WebClient
Inherits Component
Public NotInheritable Class WebClient
Inherits Component
継承
属性

次のコード例では、リソースの URI を取得して取得し、応答を表示します。

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::IO;
int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args == nullptr || args->Length == 1 )
   {
      throw gcnew ApplicationException( "Specify the URI of the resource to retrieve." );
   }

   WebClient^ client = gcnew 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[ 1 ] );
   StreamReader^ reader = gcnew StreamReader( data );
   String^ s = reader->ReadToEnd();
   Console::WriteLine( s );
   data->Close();
   reader->Close();
   delete client;
}

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.");
        }
        using 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;)");

        using Stream data = client.OpenRead(args[0]);
        using StreamReader reader = new StreamReader(data);
        string s = reader.ReadToEnd();
        Console.WriteLine(s);
    }
}
Imports System.Net
Imports System.IO



Public Class Test
    
    Public Shared Sub Main(args() As String)
        If args Is Nothing OrElse args.Length = 0 Then
            Throw New ApplicationException("Specify the URI of the resource to retrieve.")
        End If
        Using client As 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;)")
            
            Using data As Stream = client.OpenRead(args(0))
                Using reader As New StreamReader(data)
                    Dim s As String = reader.ReadToEnd()
                    Console.WriteLine(s)
                End Using
            End Using
        End Using
    End Sub
End Class

注釈

重要

新しい開発には クラスを WebClient 使用しないことをお勧めします。 代わりに、 クラスを使用します System.Net.Http.HttpClient

クラスは WebClient 、URI によって識別されるローカル、イントラネット、またはインターネット リソースに対してデータを送受信するための一般的なメソッドを提供します。

クラスは WebClient 、 クラスを WebRequest 使用してリソースへのアクセスを提供します。 WebClient インスタンスは、 メソッドに登録されている任意 WebRequest の子孫を持つデータに WebRequest.RegisterPrefix アクセスできます。

Note

既定では、.NET Frameworkでは、、https:ftp:、および file: スキーム識別子でhttp:始まる URI がサポートされます。

次の表では、 WebClient リソースにデータをアップロードする方法について説明します。

Method 説明
OpenWrite リソースに Stream データを送信するために使用される を取得します。
OpenWriteAsync 呼び出し元の Stream スレッドをブロックせずに、リソースにデータを送信するために使用される を取得します。
UploadData バイト配列をリソースに送信し、応答を Byte 含む配列を返します。
UploadDataAsync Byte呼び出し元のスレッドをブロックせずに、リソースに配列を送信します。
UploadFile ローカル ファイルをリソースに送信し、応答を Byte 含む配列を返します。
UploadFileAsync 呼び出し元のスレッドをブロックせずに、ローカル ファイルをリソースに送信します。
UploadValues NameValueCollectionリソースに を送信し、任意の応答をByte含む配列を返します。
UploadValuesAsync NameValueCollectionをリソースに送信し、呼び出し元のスレッドをByteブロックせずに、任意の応答を含む配列を返します。
UploadString Stringリソースに を送信し、任意の応答を含む をString返します。
UploadStringAsync String呼び出し元のスレッドをブロックせずに、 をリソースに送信します。

次の表では、 WebClient リソースからデータをダウンロードする方法について説明します。

Method 説明
OpenRead リソースから データを として Stream返します。
OpenReadAsync 呼び出し元のスレッドをブロックせずに、リソースからデータを返します。
DownloadData リソースからデータをダウンロードし、配列を Byte 返します。
DownloadDataAsync 呼び出し元のスレッドをブロックせずに、リソースからデータを Byte ダウンロードし、配列を返します。
DownloadFile リソースからローカル ファイルにデータをダウンロードします。
DownloadFileAsync 呼び出し元のスレッドをブロックせずに、リソースからローカル ファイルにデータをダウンロードします。
DownloadString リソースから を String ダウンロードし、 を String返します。
DownloadStringAsync String呼び出し元のスレッドをブロックせずに、 をリソースからダウンロードします。

メソッドを CancelAsync 使用して、非同期操作を取り消すことができます。

インスタンスは WebClient 、既定では省略可能な HTTP ヘッダーを送信しません。 要求に省略可能なヘッダーが必要な場合は、 ヘッダーをコレクションに追加する Headers 必要があります。 たとえば、応答でクエリを保持するには、ユーザー エージェント ヘッダーを追加する必要があります。 また、ユーザー エージェント ヘッダーがない場合、サーバーは 500 (内部サーバー エラー) を返す場合があります。

AllowAutoRedirectは インスタンスで にtrueWebClient設定されます。

注意 (継承者)

派生クラスは、 の基底クラスの WebClient 実装を呼び出して、派生クラスが期待どおりに動作することを確認する必要があります。

コンストラクター

WebClient()
古い.

WebClient クラスの新しいインスタンスを初期化します。

プロパティ

AllowReadStreamBuffering
古い.

WebClient インスタンスのインターネット リソースから読み取ったデータをバッファリングするかどうかを示す値を取得または設定します。

AllowWriteStreamBuffering
古い.

WebClient インスタンスのインターネット リソースに書き込んだデータをバッファリングするかどうかを示す値を取得または設定します。

BaseAddress

WebClient で作成された要求のベース URI を取得または設定します。

CachePolicy

WebRequest オブジェクトを使用してこの WebClient インスタンスが取得するリソースに対する、アプリケーションのキャッシュ ポリシーを取得または設定します。

CanRaiseEvents

コンポーネントがイベントを発生させることがきるかどうかを示す値を取得します。

(継承元 Component)
Container

IContainer を含む Component を取得します。

(継承元 Component)
Credentials

ホストに送信され、要求を認証するために使用されるネットワーク資格情報を取得または設定します。

DesignMode

Component が現在デザイン モードかどうかを示す値を取得します。

(継承元 Component)
Encoding

文字列のアップロードとダウンロードに使用する Encoding を取得または設定します。

Events

Component に結び付けられているイベント ハンドラーのリストを取得します。

(継承元 Component)
Headers

要求に関連付けられているヘッダーの名前/値ペアのコレクションを取得または設定します。

IsBusy

Web 要求を処理中かどうかを取得します。

Proxy

この WebClient オブジェクトが使用するプロキシを取得または設定します。

QueryString

要求に関連付けられているクエリの名前/値ペアのコレクションを取得または設定します。

ResponseHeaders

応答に関連付けられているヘッダーの名前/値ペアのコレクションを取得します。

Site

ComponentISite を取得または設定します。

(継承元 Component)
UseDefaultCredentials

Boolean が要求と共に送信されるかどうかを制御する DefaultCredentials 値を取得または設定します。

メソッド

CancelAsync()

保留中の非同期操作をキャンセルします。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

Component によって使用されているすべてのリソースを解放します。

(継承元 Component)
Dispose(Boolean)

Component によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 Component)
DownloadData(String)

指定した URI から Byte 配列としてリソースをダウンロードします。

DownloadData(Uri)

指定した URI から Byte 配列としてリソースをダウンロードします。

DownloadDataAsync(Uri)

非同期操作として指定された URI からByte 配列としてリソースをダウンロードします。

DownloadDataAsync(Uri, Object)

非同期操作として指定された URI からByte 配列としてリソースをダウンロードします。

DownloadDataTaskAsync(String)

タスク オブジェクトを使用した非同期操作として指定された URI からByte 配列としてリソースをダウンロードします。

DownloadDataTaskAsync(Uri)

タスク オブジェクトを使用した非同期操作として指定された URI からByte 配列としてリソースをダウンロードします。

DownloadFile(String, String)

指定した URI を持つリソースをローカル ファイルにダウンロードします。

DownloadFile(Uri, String)

指定した URI を持つリソースをローカル ファイルにダウンロードします。

DownloadFileAsync(Uri, String)

指定した URI を持つリソースをローカル ファイルにダウンロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

DownloadFileAsync(Uri, String, Object)

指定した URI を持つリソースをローカル ファイルにダウンロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

DownloadFileTaskAsync(String, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースをローカル ファイルにダウンロードします。

DownloadFileTaskAsync(Uri, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースをローカル ファイルにダウンロードします。

DownloadString(String)

要求されたリソースを String としてダウンロードします。 ダウンロードするリソースは、URI を含む String として指定します。

DownloadString(Uri)

要求されたリソースを String としてダウンロードします。 ダウンロードするリソースは、Uri として指定します。

DownloadStringAsync(Uri)

Uri として指定したリソースをダウンロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

DownloadStringAsync(Uri, Object)

指定したリソースに指定した文字列をダウンロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

DownloadStringTaskAsync(String)

タスク オブジェクトを使用した非同期操作として指定された URI からString としてリソースをダウンロードします。

DownloadStringTaskAsync(Uri)

タスク オブジェクトを使用した非同期操作として指定された URI からString としてリソースをダウンロードします。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetService(Type)

Component またはその Container で提供されるサービスを表すオブジェクトを返します。

(継承元 Component)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWebRequest(Uri)

指定したリソースの WebRequest オブジェクトを返します。

GetWebResponse(WebRequest)

指定した WebResponseWebRequest を返します。

GetWebResponse(WebRequest, IAsyncResult)

指定した WebResponse を使用して、指定した WebRequestIAsyncResult を返します。

InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
OnDownloadDataCompleted(DownloadDataCompletedEventArgs)

DownloadDataCompleted イベントを発生させます。

OnDownloadFileCompleted(AsyncCompletedEventArgs)

DownloadFileCompleted イベントを発生させます。

OnDownloadProgressChanged(DownloadProgressChangedEventArgs)

DownloadProgressChanged イベントを発生させます。

OnDownloadStringCompleted(DownloadStringCompletedEventArgs)

DownloadStringCompleted イベントを発生させます。

OnOpenReadCompleted(OpenReadCompletedEventArgs)

OpenReadCompleted イベントを発生させます。

OnOpenWriteCompleted(OpenWriteCompletedEventArgs)

OpenWriteCompleted イベントを発生させます。

OnUploadDataCompleted(UploadDataCompletedEventArgs)

UploadDataCompleted イベントを発生させます。

OnUploadFileCompleted(UploadFileCompletedEventArgs)

UploadFileCompleted イベントを発生させます。

OnUploadProgressChanged(UploadProgressChangedEventArgs)

UploadProgressChanged イベントを発生させます。

OnUploadStringCompleted(UploadStringCompletedEventArgs)

UploadStringCompleted イベントを発生させます。

OnUploadValuesCompleted(UploadValuesCompletedEventArgs)

UploadValuesCompleted イベントを発生させます。

OnWriteStreamClosed(WriteStreamClosedEventArgs)
古い.

WriteStreamClosed イベントを発生させます。

OpenRead(String)

String として指定した URI を持つリソースからダウンロードしたデータの読み取り可能なストリームを開きます。

OpenRead(Uri)

Uri として指定した URI を持つリソースからダウンロードしたデータの読み取り可能なストリームを開きます。

OpenReadAsync(Uri)

指定したリソースを格納している読み取り可能なストリームを開きます。 このメソッドは、呼び出し元のスレッドをブロックしません。

OpenReadAsync(Uri, Object)

指定したリソースを格納している読み取り可能なストリームを開きます。 このメソッドは、呼び出し元のスレッドをブロックしません。

OpenReadTaskAsync(String)

タスク オブジェクトを使用した非同期操作として指定されたリソースを含む読み取り可能なストリームを開きます。

OpenReadTaskAsync(Uri)

タスク オブジェクトを使用した非同期操作として指定されたリソースを含む読み取り可能なストリームを開きます。

OpenWrite(String)

指定したリソースにデータを書き込むためのストリームを開きます。

OpenWrite(String, String)

指定したメソッドを使用して、指定したリソースにデータを書き込むためのストリームを開きます。

OpenWrite(Uri)

指定したリソースにデータを書き込むためのストリームを開きます。

OpenWrite(Uri, String)

指定したメソッドを使用して、指定したリソースにデータを書き込むためのストリームを開きます。

OpenWriteAsync(Uri)

指定したリソースにデータを書き込むためのストリームを開きます。 このメソッドは、呼び出し元のスレッドをブロックしません。

OpenWriteAsync(Uri, String)

指定したリソースにデータを書き込むためのストリームを開きます。 このメソッドは、呼び出し元のスレッドをブロックしません。

OpenWriteAsync(Uri, String, Object)

指定したメソッドを使用して、指定したリソースにデータを書き込むためのストリームを開きます。 このメソッドは、呼び出し元のスレッドをブロックしません。

OpenWriteTaskAsync(String)

タスク オブジェクトを使用した非同期操作として指定されたリソースにデータを書き込むストリームを開きます。

OpenWriteTaskAsync(String, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースにデータを書き込むストリームを開きます。

OpenWriteTaskAsync(Uri)

タスク オブジェクトを使用した非同期操作として指定されたリソースにデータを書き込むストリームを開きます。

OpenWriteTaskAsync(Uri, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースにデータを書き込むストリームを開きます。

ToString()

Component の名前 (存在する場合) を格納する String を返します。 このメソッドはオーバーライドできません。

(継承元 Component)
UploadData(String, Byte[])

URI で識別されたリソースへデータ バッファーをアップロードします。

UploadData(String, String, Byte[])

指定したメソッドを使用して、指定したリソースにデータ バッファーをアップロードします。

UploadData(Uri, Byte[])

URI で識別されたリソースへデータ バッファーをアップロードします。

UploadData(Uri, String, Byte[])

指定したメソッドを使用して、指定したリソースにデータ バッファーをアップロードします。

UploadDataAsync(Uri, Byte[])

POST メソッドを使用して、URI で識別されたリソースにデータ バッファーをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadDataAsync(Uri, String, Byte[])

指定されたメソッドを使用して、URI で指定されたリソースにデータ バッファーをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadDataAsync(Uri, String, Byte[], Object)

指定されたメソッドと識別トークンを使用して、URI で指定されたリソースにデータ バッファーをアップロードします。

UploadDataTaskAsync(String, Byte[])

タスク オブジェクトを使用した非同期操作として指定された URI へのByte 配列を含むデータ バッファーをアップロードします。

UploadDataTaskAsync(String, String, Byte[])

タスク オブジェクトを使用した非同期操作として指定された URI へのByte 配列を含むデータ バッファーをアップロードします。

UploadDataTaskAsync(Uri, Byte[])

タスク オブジェクトを使用した非同期操作として指定された URI へのByte 配列を含むデータ バッファーをアップロードします。

UploadDataTaskAsync(Uri, String, Byte[])

タスク オブジェクトを使用した非同期操作として指定された URI へのByte 配列を含むデータ バッファーをアップロードします。

UploadFile(String, String)

指定した URI を持つリソースへ指定したローカル ファイルをアップロードします。

UploadFile(String, String, String)

指定したメソッドを使用して、指定したリソースに指定したローカル ファイルをアップロードします。

UploadFile(Uri, String)

指定した URI を持つリソースへ指定したローカル ファイルをアップロードします。

UploadFile(Uri, String, String)

指定したメソッドを使用して、指定したリソースに指定したローカル ファイルをアップロードします。

UploadFileAsync(Uri, String)

POST メソッドを使用して、指定したリソースに指定したローカル ファイルをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadFileAsync(Uri, String, String)

POST メソッドを使用して、指定したリソースに指定したローカル ファイルをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadFileAsync(Uri, String, String, Object)

POST メソッドを使用して、指定したリソースに指定したローカル ファイルをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadFileTaskAsync(String, String)

タスク オブジェクトを使用した非同期操作として指定されたローカル ファイルをリソースにアップロードします。

UploadFileTaskAsync(String, String, String)

タスク オブジェクトを使用した非同期操作として指定されたローカル ファイルをリソースにアップロードします。

UploadFileTaskAsync(Uri, String)

タスク オブジェクトを使用した非同期操作として指定されたローカル ファイルをリソースにアップロードします。

UploadFileTaskAsync(Uri, String, String)

タスク オブジェクトを使用した非同期操作として指定されたローカル ファイルをリソースにアップロードします。

UploadString(String, String)

POST メソッドを使用して、指定したリソースに指定した文字列をアップロードします。

UploadString(String, String, String)

指定したメソッドを使用して、指定したリソースに指定した文字列をアップロードします。

UploadString(Uri, String)

POST メソッドを使用して、指定したリソースに指定した文字列をアップロードします。

UploadString(Uri, String, String)

指定したメソッドを使用して、指定したリソースに指定した文字列をアップロードします。

UploadStringAsync(Uri, String)

指定したリソースに指定した文字列をアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadStringAsync(Uri, String, String)

指定したリソースに指定した文字列をアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadStringAsync(Uri, String, String, Object)

指定したリソースに指定した文字列をアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadStringTaskAsync(String, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースに指定された文字列をアップロードします。

UploadStringTaskAsync(String, String, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースに指定された文字列をアップロードします。

UploadStringTaskAsync(Uri, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースに指定された文字列をアップロードします。

UploadStringTaskAsync(Uri, String, String)

タスク オブジェクトを使用した非同期操作として指定されたリソースに指定された文字列をアップロードします。

UploadValues(String, NameValueCollection)

指定した URI で識別されるリソースに指定した名前/値コレクションをアップロードします。

UploadValues(String, String, NameValueCollection)

指定したメソッドを使用して、指定した URI で識別されるリソースに指定した名前/値コレクションをアップロードします。

UploadValues(Uri, NameValueCollection)

指定した URI で識別されるリソースに指定した名前/値コレクションをアップロードします。

UploadValues(Uri, String, NameValueCollection)

指定したメソッドを使用して、指定した URI で識別されるリソースに指定した名前/値コレクションをアップロードします。

UploadValuesAsync(Uri, NameValueCollection)

指定した URI で識別されるリソースに指定した名前/値コレクションのデータをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadValuesAsync(Uri, String, NameValueCollection)

指定したメソッドを使用して、指定した URI で識別されるリソースに、指定した名前/値コレクションのデータをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。

UploadValuesAsync(Uri, String, NameValueCollection, Object)

指定したメソッドを使用して、指定した URI で識別されるリソースに、指定した名前/値コレクションのデータをアップロードします。 このメソッドは、呼び出し元のスレッドをブロックしません。また、呼び出し元は、操作の完了時に呼び出されるメソッドにオブジェクトを渡すことができます。

UploadValuesTaskAsync(String, NameValueCollection)

タスク オブジェクトを使用した非同期操作として指定した URI で識別されるリソースに、指定した名前/値コレクションをアップロードします。

UploadValuesTaskAsync(String, String, NameValueCollection)

タスク オブジェクトを使用した非同期操作として指定した URI で識別されるリソースに、指定した名前/値コレクションをアップロードします。

UploadValuesTaskAsync(Uri, NameValueCollection)

タスク オブジェクトを使用した非同期操作として指定した URI で識別されるリソースに、指定した名前/値コレクションをアップロードします。

UploadValuesTaskAsync(Uri, String, NameValueCollection)

タスク オブジェクトを使用した非同期操作として指定した URI で識別されるリソースに、指定した名前/値コレクションをアップロードします。

イベント

Disposed

Dispose() メソッドの呼び出しによってコンポーネントが破棄されるときに発生します。

(継承元 Component)
DownloadDataCompleted

非同期のデータ ダウンロード操作の完了時に発生します。

DownloadFileCompleted

非同期のファイル ダウンロード操作の完了時に発生します。

DownloadProgressChanged

非同期ダウンロード操作で、データの一部またはすべてが正常に転送された場合に発生します。

DownloadStringCompleted

非同期のリソース ダウンロード操作の完了時に発生します。

OpenReadCompleted

リソースを格納しているストリームを開く非同期操作の完了時に発生します。

OpenWriteCompleted

リソースにデータを書き込むためにストリームを開く非同期操作の完了時に発生します。

UploadDataCompleted

非同期のデータ アップロード操作の完了時に発生します。

UploadFileCompleted

非同期のファイル アップロード操作の完了時に発生します。

UploadProgressChanged

非同期アップロード操作で、データの一部またはすべてが正常に送信された場合に発生します。

UploadStringCompleted

非同期の文字列アップロード操作の完了時に発生します。

UploadValuesCompleted

名前/値コレクションの非同期アップロードの完了時に発生します。

WriteStreamClosed
古い.

書き込みストリームを使ってリソースにデータを書き込むための非同期操作が終了したときに発生します。

適用対象

こちらもご覧ください