このドキュメントはアーカイブされており、メンテナンスされていません。

WebRequest クラス

URI (Uniform Resource Identifier) への要求を行います。これは抽象 (Visual Basic では MustInherit) クラスです。

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

System.Object
   System.MarshalByRefObject
      System.Net.WebRequest
         System.Net.FileWebRequest
         System.Net.HttpWebRequest

<Serializable>
MustInherit Public Class WebRequest
   Inherits MarshalByRefObject
   Implements ISerializable
[C#]
[Serializable]
public abstract class WebRequest : MarshalByRefObject,
   ISerializable
[C++]
[Serializable]
public __gc __abstract class WebRequest : public
   MarshalByRefObject, ISerializable
[JScript]
public
   Serializable
abstract class WebRequest extends MarshalByRefObject
   implements ISerializable

スレッドセーフ

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

解説

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

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

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

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

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

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

使用例

[Visual Basic, C#, C++] WebRequest インスタンスを作成し、応答を返す方法を次の例に示します。

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

' Return the response. 
Dim myResponse As WebResponse = myRequest.GetResponse()

' Code to use the WebResponse goes here.
' Close the response to free resources.
myResponse.Close()


[C#] 
// Initialize the WebRequest.
WebRequest myRequest = WebRequest.Create("http://www.contoso.com");

// Return the response. 
WebResponse myResponse = myRequest.GetResponse();

// Code to use the WebResponse goes here.

// Close the response to free resources.
myResponse.Close();


[C++] 
// Initialize the WebRequest.
WebRequest* myRequest = WebRequest::Create(S"http://www.contoso.com");

// Return the response. 
WebResponse* myResponse = myRequest->GetResponse();

// Code to use the WebResponse goes here.

// Close the response to free resources.
myResponse->Close();


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

必要条件

名前空間: System.Net

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

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

.NET Framework セキュリティ: 

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

参照

WebRequest メンバ | System.Net 名前空間 | データの要求 | プラグ可能なプロトコルのプログラミング | HttpWebRequest | プラグ可能なプロトコルのプログラミング

表示: