英語で読む

次の方法で共有


HttpWebRequest.Headers プロパティ

定義

HTTP ヘッダーを構成する名前と値のペアのコレクションを指定します。

public override System.Net.WebHeaderCollection Headers { get; set; }

プロパティ値

HTTP 要求のヘッダーを構成する名前と値のペアを含む WebHeaderCollection

例外

要求は、GetRequestStream()BeginGetRequestStream(AsyncCallback, Object)GetResponse()、または BeginGetResponse(AsyncCallback, Object) メソッドを呼び出すことによって開始されました。

次のコード例では、Headers プロパティを使用して、HTTP ヘッダーの名前と値のペアをコンソールに出力します。

// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://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();

注釈

注意事項

WebRequestHttpWebRequestServicePointWebClient は廃止されており、新しい開発には使用しないでください。 代わりに HttpClient を使用してください。

Headers コレクションには、要求に関連付けられているプロトコル ヘッダーが含まれています。 次の表に、Headers コレクションに格納されていないが、システムによって設定されるか、プロパティまたはメソッドによって設定される HTTP ヘッダーを示します。

ヘッダ 設定者
受け入れる Accept プロパティによって設定されます。
接続 Connection プロパティと KeepAlive プロパティによって設定されます。
Content-Length ContentLength プロパティによって設定されます。
Content-Type ContentType プロパティによって設定されます。
予想する Expect プロパティによって設定されます。
日付 Date プロパティによって設定されます。
ホスト Host プロパティによって設定されます。
If-Modified-Since IfModifiedSince プロパティによって設定されます。
範囲 AddRange メソッドによって設定されます。
Referer Referer プロパティによって設定されます。
Transfer-Encoding TransferEncoding プロパティによって設定されます (SendChunked プロパティは true である必要があります)。
User-Agent UserAgent プロパティによって設定されます。

これらの保護されたヘッダーのいずれかを設定しようとすると、Add メソッドは ArgumentException をスローします。

GetRequestStreamBeginGetRequestStreamGetResponse、または BeginGetResponse メソッドを呼び出して、要求の開始後に Headers プロパティを変更すると、InvalidOperationExceptionがスローされます。

Web サーバーとキャッシュは Web 要求にヘッダーを変更または追加する可能性があるため、ヘッダー値が変更されないと想定しないでください。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0