WebRequest クラスの HTTP 固有の実装を提供します。
名前空間: System.Net
アセンブリ: System (system.dll 内)
<SerializableAttribute> _
Public Class HttpWebRequest
Inherits WebRequest
Implements ISerializable
Dim instance As HttpWebRequest
[SerializableAttribute]
public class HttpWebRequest : WebRequest, ISerializable
[SerializableAttribute]
public ref class HttpWebRequest : public WebRequest, ISerializable
/** @attribute SerializableAttribute() */
public class HttpWebRequest extends WebRequest implements ISerializable
SerializableAttribute
public class HttpWebRequest extends WebRequest implements ISerializable
HttpWebRequest クラスには、WebRequest で定義されているプロパティおよびメソッドと、HTTP を使用してサーバーと直接対話できるようにする追加のプロパティおよびメソッドが用意されています。
HttpWebRequest コンストラクタは使用しないでください。新しい HttpWebRequest オブジェクトを初期化するには、System.Net.WebRequest.Create メソッドを使用します。URI (Uniform Resource Identifier) のスキームが http:// または https:// の場合、Create は HttpWebRequest オブジェクトを返します。
GetResponse メソッドは、RequestUri プロパティで指定されるリソースへの同期要求を行い、応答を格納している HttpWebResponse を返します。BeginGetResponse メソッドと EndGetResponse メソッドを使用して、リソースへの非同期要求を行うことができます。
リソースにデータを送信する場合、GetRequestStream メソッドは、データを送信するために使用する Stream オブジェクトを返します。BeginGetRequestStream メソッドと EndGetRequestStream メソッドは、送信データ ストリームへの非同期アクセスを可能にします。
HttpWebRequest を使用したクライアント認証を行うには、現在のユーザーの個人用証明書ストアにクライアント証明書がインストールされている必要があります。
HttpWebRequest クラスは、リソースへのアクセス中にエラーが発生したときに WebException をスローします。WebException.Status プロパティには、エラーの原因を示す WebExceptionStatus 値が格納されます。WebException.Status が WebExceptionStatus.ProtocolError の場合、Response プロパティには、リソースから受信した HttpWebResponse が格納されます。
HttpWebRequest は、メソッドまたはシステムによって設定され、プロパティとしてインターネット リソースに送信される共通 HTTP ヘッダー値を公開します。完全な一覧を次の表に示します。Headers プロパティで、名前/値ペアとしてその他のヘッダーを設定できます。サーバーおよびキャッシュにより、要求時に、ヘッダーが変更または追加されることがあります。
プロパティ、メソッド、またはシステムのいずれかによって設定される HTTP ヘッダーの一覧を次の表に示します。
メモ |
|---|
| HttpWebRequest は、自動的に登録されます。http:// または https:// で始まる URI を使用する前に、RegisterPrefix メソッドを呼び出して System.Net.HttpWebRequest を登録する必要はありません。 |
ローカル コンピュータの構成でプロキシを使用するように指定しているか、または、要求でプロキシが指定されている場合、要求はプロキシを使用して送信されます。プロキシが指定されていない場合、要求はサーバーに送信されます。
メモ |
|---|
| .NET Framework は、SSL セッションをその作成時にキャッシュし、可能な場合にはキャッシュされているセッションを新しい要求に再利用しようとします。SSL セッションの再利用を試みる場合、.NET Framework は、ClientCertificates が存在すればその最初の要素を使用し、ClientCertificates が空であれば匿名セッションの再利用を試みます。 |
メモ |
|---|
| セキュリティ上の理由から、Cookie は既定では無効です。Cookie を使用する場合は、CookieContainer プロパティを使用して Cookie を有効にします。 |
http://www.contoso.com/ という URI に対する HttpWebRequest を作成するコード例を次に示します。
Dim myReq As HttpWebRequest = _
WebRequest.Create("http://www.contoso.com/")
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com/" ));
HttpWebRequest myReq =
((HttpWebRequest)(WebRequest.Create("http://www.contoso.com/")));
var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("http://www.contoso.com/"))
System.Object
System.MarshalByRefObject
System.Net.WebRequest
System.Net.HttpWebRequest
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0、1.0