次の方法で共有


WebClient クラス

URI で識別されるリソースとのデータの送受信用の共通のメソッドを提供します。このクラスは継承できません。

この型のすべてのメンバの一覧については、WebClient メンバ を参照してください。

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Net.WebClient

<ComVisible(True)>
NotInheritable Public Class WebClient   Inherits Component
[C#]
[ComVisible(true)]
public sealed class WebClient : Component
[C++]
[ComVisible(true)]
public __gc __sealed class WebClient : public Component
[JScript]
public
   ComVisible(true)
class WebClient extends Component

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

WebClient クラスは、URI で識別されるローカル、イントラネット、またはインターネットの各リソースとのデータの送受信用の共通のメソッドを提供します。

WebClient クラスは、 WebRequest クラスを使用して、インターネット リソースへアクセスします。 WebClient インスタンスは、 WebRequest.RegisterPrefix メソッドで登録した任意の WebRequest の子孫を使用してデータにアクセスできます。

メモ   既定では、.NET Framework は、 http:https:file: の各スキーム識別子で始まる URI をサポートします。

WebClient クラスは、リソースへデータをアップロードするための 4 つのメソッドを提供します。

  • OpenWrite は、リソースにデータを送信するために使用する Stream を返します。
  • UploadData は、リソースにバイト配列を送信し、任意の応答を含むバイト配列を返します。
  • UploadFile は、リソースにローカル ファイルを送信し、任意の応答を含むバイト配列を返します。
  • UploadValues は、リソースに NameValueCollection を送信し、任意の応答を含むバイト配列を返します。

WebClient クラスも、リソースからデータをダウンロードするための 3 つのメソッドを提供します。

  • DownloadData は、リソースからデータをダウンロードし、バイト配列を返します。
  • DownloadFile は、リソースからローカル ファイルにデータをダウンロードします。
  • OpenRead は、リソースからデータを Stream として返します。

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

使用例

[Visual Basic, C#] 次に示すのは、特定のリソースの URI を使用してそのリソースを取得し、応答を表示するコード例です。

 
Imports System
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
        Dim 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;)")
        
        Dim data As Stream = client.OpenRead(args(0))
        Dim reader As New StreamReader(data)
        Dim s As String = reader.ReadToEnd()
        Console.WriteLine(s)
        data.Close()
        reader.Close()
    End Sub 'Main
End Class 'Test

[C#] 
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 ();
    }
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Net

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System (System.dll 内)

.NET Framework セキュリティ:

  • WebPermission (要求された URI またはその要求のリダイレクト先の URI にアクセスするために必要なアクセス許可) Connect (関連する列挙体)

参照

WebClient メンバ | System.Net 名前空間 | WebRequest | WebResponse | HttpWebRequest | HttpWebResponse