WebRequestとは? わかりやすく解説

WebRequest クラス

URI (Uniform Resource Identifier) への要求を行います。これは abstract クラスです。

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

<SerializableAttribute> _
Public MustInherit Class
 WebRequest
    Inherits MarshalByRefObject
    Implements ISerializable
[SerializableAttribute] 
public abstract class WebRequest : MarshalByRefObject,
 ISerializable
[SerializableAttribute] 
public ref class WebRequest abstract : public
 MarshalByRefObject, ISerializable
/** @attribute SerializableAttribute() */ 
public abstract class WebRequest extends MarshalByRefObject
 implements ISerializable
SerializableAttribute 
public abstract class WebRequest extends
 MarshalByRefObject implements ISerializable
解説解説

WebRequest は、インターネットからのデータにアクセスするための .NET Framework の要求/応答モデル用の abstract 基本クラスです。要求/応答モデルを使用するアプリケーションは、プロトコルに寛容な方法で、インターネットからデータを要求できます。この場合、アプリケーションは WebRequest クラスのインスタンスで動作し、プロトコルに固有な派生クラスが要求の詳細を実行します。

要求は、アプリケーションからサーバー上の Web ページなどの特定の URI に送信されます。URI は、そのアプリケーション用に登録されている WebRequest 派生クラスの一覧から、作成する適切な派生クラスを決定します。通常、WebRequest 派生クラスは、HTTP または FTP などの固有のプロトコルを処理するために登録されていますが、固有なサーバーまたはサーバーのパスへの要求を処理するために登録することもできます。

WebRequest クラスは、インターネット リソースへのアクセス中にエラーが発生したときに WebException をスローします。WebException.Status プロパティは、エラーの原因を示す WebExceptionStatus 値の 1 つです。WebException.Status が WebExceptionStatus.ProtocolError の場合、Response プロパティには、インターネット リソースから受信した WebResponse が格納されます。

WebRequest クラスは abstract クラスであるため、実行時の WebRequest インスタンスの実際の動作は、System.Net.WebRequest.Create メソッドで返される派生クラスによって決まります。既定値および例外の詳細については、HttpWebRequest や FileWebRequest などの派生クラスの説明を参照してください。

メモメモ

新しい WebRequest インスタンスを初期化するには、Create メソッドを使用します。WebRequest コンストラクタは使用しないでください。

継承時の注意 WebRequest から継承する場合は、Method、RequestUri、Headers、ContentLength、ContentType、Credentials、PreAuthenticate、GetRequestStream、BeginGetRequestStream、EndGetRequestStream、GetResponse、BeginGetResponse、EndGetResponse の各メンバをオーバーライドする必要があります。さらに、IWebRequestCreate インターフェイスの実装を指定します。これは、Create を呼び出すときに使用する Create メソッドを定義します。また、RegisterPrefix メソッドまたは構成ファイルを使用して、IWebRequestCreate インターフェイスを実装するクラスを登録する必要もあります。

使用例使用例

WebRequest インスタンスを作成し、応答を返す方法を次の例に示します。

Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Namespace Examples.System.Net
    Public Class WebRequestGetExample

        Public Shared Sub
 Main()
            ' Create a request for the URL.         
            Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/default.html")
            ' If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials
            ' Get the response.
            Dim response As HttpWebResponse
 = CType(request.GetResponse(), HttpWebResponse)
            ' Display the status.
            Console.WriteLine(response.StatusDescription)
            ' Get the stream containing content returned by the server.
            Dim dataStream As Stream = response.GetResponseStream()
            ' Open the stream using a StreamReader for easy access.
            Dim reader As New
 StreamReader(dataStream)
            ' Read the content.
            Dim responseFromServer As String
 = reader.ReadToEnd()
            ' Display the content.
            Console.WriteLine(responseFromServer)
            ' Cleanup the streams and the response.
            reader.Close()
            dataStream.Close()
            response.Close()
        End Sub 'Main
    End Class 'WebRequestGetExample
End Namespace
using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void
 Main ()
        {
            // Create a request for the URL.         
            WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
            // Display the status.
            Console.WriteLine (response.StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream ();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd ();
            // Display the content.
            Console.WriteLine (responseFromServer);
            // Cleanup the streams and the response.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }
    }
}
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Text;
int main()
{
   
   // Create a request for the URL.   
   WebRequest^ request = WebRequest::Create( "http://www.contoso.com/default.html"
 );
   
   // If required by the server, set the credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   
   // Get the response.
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
   
   // Display the status.
   Console::WriteLine( response->StatusDescription );
   
   // Get the stream containing content returned by the server.
   Stream^ dataStream = response->GetResponseStream();
   
   // Open the stream using a StreamReader for easy access.
   StreamReader^ reader = gcnew StreamReader( dataStream );
   
   // Read the content.
   String^ responseFromServer = reader->ReadToEnd();
   
   // Display the content.
   Console::WriteLine( responseFromServer );
   
   // Cleanup the streams and the response.
   reader->Close();
   dataStream->Close();
   response->Close();
}

.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.MarshalByRefObject
    System.Net.WebRequest
       System.Net.FileWebRequest
       System.Net.FtpWebRequest
       System.Net.HttpWebRequest
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebRequest コンストラクタ ()

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

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

解説解説
使用例使用例

WebRequest クラスで Create メソッドを呼び出して、WebRequest インスタンスを作成する方法を次の例に示します。

Dim myRequest As WebRequest = WebRequest.Create("http://www.contoso.com")

WebRequest myRequest = WebRequest.Create("http://www.contoso.com");

WebRequest^ myRequest = WebRequest::Create( "http://www.contoso.com"
 );
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebRequest コンストラクタ (SerializationInfo, StreamingContext)

SerializationInfo クラスと StreamingContext クラスの指定したインスタンスから、WebRequest クラスの新しいインスタンスを初期化します。

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Protected Sub New ( _
    serializationInfo As SerializationInfo, _
    streamingContext As StreamingContext _
)
Dim serializationInfo As SerializationInfo
Dim streamingContext As StreamingContext

Dim instance As New WebRequest(serializationInfo,
 streamingContext)
protected WebRequest (
    SerializationInfo serializationInfo,
    StreamingContext streamingContext
)
protected:
WebRequest (
    SerializationInfo^ serializationInfo, 
    StreamingContext streamingContext
)
protected WebRequest (
    SerializationInfo serializationInfo, 
    StreamingContext streamingContext
)
protected function WebRequest (
    serializationInfo : SerializationInfo, 
    streamingContext : StreamingContext
)

パラメータ

serializationInfo

新しい WebRequest インスタンスをシリアル化するために必要な情報を格納する SerializationInfo。

streamingContext

新しい WebRequest インスタンスに関連付けられているシリアル化ストリームのソースを示す StreamingContext。

例外例外
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

WebRequest コンストラクタ

WebRequest クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
WebRequest () WebRequest クラスの新しいインスタンスを初期化します。

.NET Compact Framework によってサポートされています。

WebRequest (SerializationInfo, StreamingContext) SerializationInfo クラスと StreamingContext クラスの指定したインスタンスから、WebRequest クラスの新しいインスタンスを初期化します。
参照参照

関連項目

WebRequest クラス
WebRequest メンバ
System.Net 名前空間

WebRequest プロパティ


WebRequest メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Abort 要求を中止します。
パブリック メソッド BeginGetRequestStream 派生クラスでオーバーライドされると、GetRequestStream メソッドの非同期バージョンを提供します。
パブリック メソッド BeginGetResponse 派生クラスでオーバーライドされると、インターネット リソースの非同期要求を開始します。
パブリック メソッド Create オーバーロードされます。 新しい WebRequest を初期化します。
パブリック メソッド CreateDefault 指定した URI スキーム用に新しい WebRequest のインスタンスを初期化します。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド EndGetRequestStream 派生クラスでオーバーライドされると、インターネット リソースにデータを書き込むための Stream を返します。
パブリック メソッド EndGetResponse 派生クラスでオーバーライドされると、WebResponse を返します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetRequestStream 派生クラスでオーバーライドされると、インターネット リソースにデータを書き込むための Stream を返します。
パブリック メソッド GetResponse 派生クラスでオーバーライドされると、インターネット要求への応答を返します。
パブリック メソッド GetSystemWebProxy 現在の偽装ユーザーの Internet Explorer の設定で構成されたプロキシを返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RegisterPrefix 指定した URI 用の WebRequest 派生クラスを登録します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData 派生クラスでオーバーライドされる場合、SerializationInfo インスタンスに、WebRequest をシリアル化するために必要なデータを設定します。
参照参照

WebRequest メンバ

URI (Uniform Resource Identifier) への要求を行います。これは abstract クラスです。

WebRequest データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ .NET Compact Framework によるサポート ImpersonationLevel 現在の要求に対する偽装レベルを取得または設定します。
パブリック プロパティ .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート UseDefaultCredentials 派生クラスでオーバーライドされる場合、DefaultCredentials が要求と共に送信されるかどうかを制御する Boolean 値を取得または設定します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Abort 要求を中止します。
パブリック メソッド BeginGetRequestStream 派生クラスでオーバーライドされると、GetRequestStream メソッドの非同期バージョンを提供します。
パブリック メソッド BeginGetResponse 派生クラスでオーバーライドされると、インターネット リソースの非同期要求を開始します。
パブリック メソッド Create オーバーロードされます。 新しい WebRequest を初期化します。
パブリック メソッド CreateDefault 指定した URI スキーム用に新しい WebRequest のインスタンスを初期化します。
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド EndGetRequestStream 派生クラスでオーバーライドされると、インターネット リソースにデータを書き込むための Stream を返します。
パブリック メソッド EndGetResponse 派生クラスでオーバーライドされると、WebResponse を返します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetRequestStream 派生クラスでオーバーライドされると、インターネット リソースにデータを書き込むための Stream を返します。
パブリック メソッド GetResponse 派生クラスでオーバーライドされると、インターネット要求への応答を返します。
パブリック メソッド GetSystemWebProxy 現在の偽装ユーザーの Internet Explorer の設定で構成されたプロキシを返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象のインスタンスの有効期間ポリシーを制御する、有効期間サービス オブジェクトを取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RegisterPrefix 指定した URI 用の WebRequest 派生クラスを登録します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData 派生クラスでオーバーライドされる場合、SerializationInfo インスタンスに、WebRequest をシリアル化するために必要なデータを設定します。
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「WebRequest」の関連用語

WebRequestのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebRequestのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS