HttpWebRequest クラス
WebRequest クラスの HTTP 固有の実装を提供します。
この型のすべてのメンバの一覧については、HttpWebRequest メンバ を参照してください。
System.Object
System.MarshalByRefObject
System.Net.WebRequest
System.Net.HttpWebRequest
<Serializable>
Public Class HttpWebRequest Inherits WebRequest
[C#]
[Serializable]
public class HttpWebRequest : WebRequest
[C++]
[Serializable]
public __gc class HttpWebRequest : public WebRequest
[JScript]
public
Serializable
class HttpWebRequest extends WebRequest
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
HttpWebRequest クラスには、 WebRequest で定義されているプロパティおよびメソッドと、HTTP を使用してサーバーと直接対話できるようにする追加のプロパティおよびメソッドが用意されています。
HttpWebRequest コンストラクタは使用しないでください。新しい HttpWebRequest インスタンスを初期化するには、 WebRequest.Create メソッドを使用します。URI のスキームが http://
または https://
の場合、 Create は HttpWebRequest インスタンスを返します。
GetResponse メソッドは、 RequestUri プロパティで指定されるインターネット リソースへの同期要求を行い、応答を格納している HttpWebResponse インスタンスを返します。 BeginGetResponse メソッドと EndGetResponse メソッドを使用して、インターネット リソースへの非同期要求を行うことができます。
インターネット リソースにデータを送信する場合、 GetRequestStream メソッドは、データを送信するために使用する Stream インスタンスを返します。 BeginGetRequestStream メソッドと EndGetRequestStream メソッドは、送信データ ストリームへの非同期アクセスを可能にします。
HttpWebRequest を使用したクライアント認証を行うには、現在のユーザーの個人用証明書ストアにクライアント証明書がインストールされている必要があります。
HttpWebRequest クラスは、インターネット リソースへのアクセス中にエラーが発生したときに WebException をスローします。 WebException.Status プロパティは、エラーの原因を示す WebExceptionStatus 値の 1 つです。 WebException.Status が WebExceptionStatus.ProtocolError の場合、 Response プロパティには、インターネット リソースから受信した HttpWebResponse が格納されます。
HttpWebRequest は、メソッドまたはシステムによって設定され、プロパティとしてインターネット リソースに送信される共通 HTTP ヘッダー値を公開します。完全な一覧を次の表に示します。 Headers プロパティで、名前/値ペアとしてその他のヘッダーを設定できます。
プロパティ、メソッド、またはシステムのいずれかによって設定される HTTP ヘッダーの一覧を次の表に示します。
ヘッダー | 設定方法 |
---|---|
Accept | Accept プロパティで設定します。 |
Connection | Connection プロパティ、 KeepAlive プロパティで設定します。 |
Content-Length | ContentLength プロパティで設定します。 |
Content-Type | ContentType プロパティで設定します。 |
Expect | Expect プロパティで設定します。 |
Date | システムにより現在の日付に設定されます。 |
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 を登録する必要はありません。
使用例
https://www.contoso.com/ という URI に対する HttpWebRequest を作成する例を次に示します。
Dim myReq As HttpWebRequest = _
WebRequest.Create("https://www.contoso.com/")
[C#]
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("https://www.contoso.com/");
[C++]
HttpWebRequest* myReq =
dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"https://www.contoso.com/"));
[JScript]
var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("https://www.contoso.com/"))
必要条件
名前空間: 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 (関連する列挙体)