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.Status が WebExceptionStatus.ProtocolError の場合、 Response プロパティには、インターネット リソースから受信した WebResponse が格納されます。
WebRequest クラスは、抽象 (Visual Basic では MustInherit) クラスであるため、実行時の WebRequest インスタンスの実際の動作は、 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 インターフェイスを実装するクラスを登録する必要もあります。
使用例
[Visual Basic, C#, C++] WebRequest インスタンスを作成し、応答を返す方法を次の例に示します。
' Initialize the WebRequest.
Dim myRequest As WebRequest = WebRequest.Create("https://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("https://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"https://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 | プラグ可能なプロトコルのプログラミング