クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
以前のバージョン
.NET Framework SDK 2.0
System.Net
HttpWebRequest クラス

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
HttpWebRequest クラス

WebRequest クラスの HTTP 固有の実装を提供します。

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

Visual Basic (宣言)
<SerializableAttribute> _
Public Class HttpWebRequest
    Inherits WebRequest
    Implements ISerializable
Visual Basic (使用法)
Dim instance As HttpWebRequest
C#
[SerializableAttribute] 
public class HttpWebRequest : WebRequest, ISerializable
C++
[SerializableAttribute] 
public ref class HttpWebRequest : public WebRequest, ISerializable
J#
/** @attribute SerializableAttribute() */ 
public class HttpWebRequest extends WebRequest implements ISerializable
JScript
SerializableAttribute 
public class HttpWebRequest extends WebRequest implements ISerializable

HttpWebRequest クラスには、WebRequest で定義されているプロパティおよびメソッドと、HTTP を使用してサーバーと直接対話できるようにする追加のプロパティおよびメソッドが用意されています。

HttpWebRequest コンストラクタは使用しないでください。新しい HttpWebRequest オブジェクトを初期化するには、System.Net.WebRequest.Create メソッドを使用します。URI (Uniform Resource Identifier) のスキームが http:// または https:// の場合、CreateHttpWebRequest オブジェクトを返します。

GetResponse メソッドは、RequestUri プロパティで指定されるリソースへの同期要求を行い、応答を格納している HttpWebResponse を返します。BeginGetResponse メソッドと EndGetResponse メソッドを使用して、リソースへの非同期要求を行うことができます。

リソースにデータを送信する場合、GetRequestStream メソッドは、データを送信するために使用する Stream オブジェクトを返します。BeginGetRequestStream メソッドと EndGetRequestStream メソッドは、送信データ ストリームへの非同期アクセスを可能にします。

HttpWebRequest を使用したクライアント認証を行うには、現在のユーザーの個人用証明書ストアにクライアント証明書がインストールされている必要があります。

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

HttpWebRequest は、メソッドまたはシステムによって設定され、プロパティとしてインターネット リソースに送信される共通 HTTP ヘッダー値を公開します。完全な一覧を次の表に示します。Headers プロパティで、名前/値ペアとしてその他のヘッダーを設定できます。サーバーおよびキャッシュにより、要求時に、ヘッダーが変更または追加されることがあります。

プロパティ、メソッド、またはシステムのいずれかによって設定される HTTP ヘッダーの一覧を次の表に示します。

ヘッダー

設定方法

Accept

Accept プロパティで設定します。

Connection

Connection プロパティ、KeepAlive プロパティで設定します。

Content-Length

ContentLength プロパティで設定します。

Content-Type

ContentType プロパティで設定します。

Expect

Expect プロパティで設定します。

日付

システムにより現在の日付に設定されます。

Host

システムにより現在のホスト情報に設定されます。

If-Modified-Since

IfModifiedSince プロパティで設定します。

Range

AddRange メソッドで設定します。

Referer

Referer プロパティで設定します。

Transfer-Encoding

TransferEncoding プロパティで設定します (SendChunked プロパティは true である必要があります)。

User-Agent

UserAgent プロパティで設定します。

メモメモ

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 を作成するコード例を次に示します。

Visual Basic
Dim myReq As HttpWebRequest = _
    WebRequest.Create("http://www.contoso.com/")

C#
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");

C++
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com/" ));
J#
HttpWebRequest myReq =
    ((HttpWebRequest)(WebRequest.Create("http://www.contoso.com/")));
JScript
var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("http://www.contoso.com/"))

  • WebPermission  (要求された URI またはその要求のリダイレクト先の URI にアクセスするために必要なアクセス許可)Connect (関連する列挙体)
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
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker