HttpWebRequest.Headers プロパティ
HTTP ヘッダーを構成する名前/値ペアのコレクションを取得します。
Overrides Public Property Headers As WebHeaderCollection
[C#]
public override WebHeaderCollection Headers {get; set;}
[C++]
public: __property WebHeaderCollection* get_Headers();public: __property void set_Headers(WebHeaderCollection*);
[JScript]
public override function get Headers() : WebHeaderCollection;public override function set Headers(WebHeaderCollection);
プロパティ値
HTTP 要求のヘッダーを構成する名前/値ペアを格納している WebHeaderCollection 。
例外
例外の種類 | 条件 |
---|---|
InvalidOperationException | 要求が GetRequestStream 、 BeginGetRequestStream 、 GetResponse 、または BeginGetResponse の各メソッドの呼び出しによって開始されました。 |
解説
Headers コレクションは、要求に関連付けられているプロトコル ヘッダーを格納します。 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 プロパティで設定します。 |
これらの保護されたヘッダーの 1 つを設定しようとすると、 Add メソッドは ArgumentException をスローします。
GetRequestStream 、 BeginGetRequestStream 、 GetResponse 、または BeginGetResponse の各メソッドの呼び出しによって開始した要求の後に Headers プロパティを変更すると、 InvalidOperationException がスローされます。
使用例
[Visual Basic, C#, C++] HTTP ヘッダーの名前/値ペアを、 Headers プロパティを使用してコンソールに出力する例を次に示します。
' Create a new 'HttpWebRequest' Object to the mentioned URL.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("https://www.contoso.com"), HttpWebRequest)
' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine(ControlChars.Cr + "The HttpHeaders are " + ControlChars.Cr + ControlChars.Cr + ControlChars.Tab + "Name" + ControlChars.Tab + ControlChars.Tab + "Value" + ControlChars.Cr + "{0}", myHttpWebRequest.Headers)
' Print the HTML contents of the page to the console.
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim streamRead As New StreamReader(streamResponse)
Dim readBuff(256) As [Char]
Dim count As Integer = streamRead.Read(readBuff, 0, 256)
Console.WriteLine(ControlChars.Cr + "The HTML contents of page the are : " + ControlChars.Cr + ControlChars.Cr + " ")
While count > 0
Dim outputData As New [String](readBuff, 0, count)
Console.Write(outputData)
count = streamRead.Read(readBuff, 0, 256)
End While
' Close the Stream object.
streamResponse.Close()
streamRead.Close()
' Release the HttpWebResponse Resource.
myHttpWebResponse.Close()
[C#]
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("https://www.contoso.com");
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
Console.WriteLine("\nThe HttpHeaders are \n\n\tName\t\tValue\n{0}",myHttpWebRequest.Headers);
// Print the HTML contents of the page to the console.
Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse );
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
Console.WriteLine("\nThe HTML contents of page the are : \n\n ");
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse.Close();
[C++]
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest* myHttpWebRequest =
dynamic_cast<HttpWebRequest*>(WebRequest::Create(S"https://www.contoso.com"));
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse* myHttpWebResponse =
dynamic_cast<HttpWebResponse*>(myHttpWebRequest->GetResponse());
Console::WriteLine(S"\nThe HttpHeaders are \n\n\tName\t\tValue\n {0}",
myHttpWebRequest->Headers);
// Print the HTML contents of the page to the console.
Stream* streamResponse = myHttpWebResponse->GetResponseStream();
StreamReader* streamRead = new StreamReader(streamResponse);
Char readBuff[] = new Char[256];
int count = streamRead->Read(readBuff, 0, 256);
Console::WriteLine(S"\nThe HTML contents of page the are : \n\n ");
while (count > 0) {
String* outputData = new String(readBuff, 0, count);
Console::Write(outputData);
count = streamRead->Read(readBuff, 0, 256);
}
// Close the Stream object.
streamResponse->Close();
streamRead->Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse->Close();
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: 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, Common Language Infrastructure (CLI) Standard