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

注釈

注意

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

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

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

手記

既定では、.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 を送信し、応答を含む String を返します。
UploadStringAsync 呼び出し元のスレッドをブロックせずに、リソースに String を送信します。

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

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

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

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

AllowAutoRedirect は、WebClient インスタンスで true に設定されます。

注意 (継承者)

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

コンストラクター

WebClient()
古い.

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

プロパティ

AllowReadStreamBuffering
古い.

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

AllowWriteStreamBuffering
古い.

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

BaseAddress

WebClientによって行われた要求のベース URI を取得または設定します。

CachePolicy

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

CanRaiseEvents

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

(継承元 Component)
Container

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

(継承元 Component)
Credentials

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

DesignMode

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

(継承元 Component)
Encoding

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

Events

この Componentにアタッチされているイベント ハンドラーの一覧を取得します。

(継承元 Component)
Headers

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

IsBusy

Web 要求が進行中かどうかを取得します。

Proxy

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

QueryString

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

ResponseHeaders

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

Site

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

(継承元 Component)
UseDefaultCredentials

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

メソッド

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)

指定した WebRequestWebResponse を返します。

GetWebResponse(WebRequest, IAsyncResult)

指定した IAsyncResultを使用して、指定した WebRequestWebResponse を返します。

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[])

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

UploadDataTaskAsync(String, String, Byte[])

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

UploadDataTaskAsync(Uri, Byte[])

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

UploadDataTaskAsync(Uri, String, Byte[])

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

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
古い.

書き込みストリームを使用してリソースにデータを書き込む非同期操作が閉じられたときに発生します。

適用対象

こちらもご覧ください