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