次の方法で共有


HttpWebRequest.Headers プロパティ

定義

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

public:
 virtual property System::Net::WebHeaderCollection ^ Headers { System::Net::WebHeaderCollection ^ get(); void set(System::Net::WebHeaderCollection ^ value); };
public override System.Net.WebHeaderCollection Headers { get; set; }
member this.Headers : System.Net.WebHeaderCollection with get, set
Public Overrides Property Headers As WebHeaderCollection

プロパティ値

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 = gcnew StreamReader( streamResponse );
array<Char>^ readBuff = gcnew array<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 = gcnew String( readBuff,0,count );
   Console::Write( outputData );
   count = streamRead->Read( readBuff, 0, 256 );
}
streamResponse->Close();
streamRead->Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse->Close();
// 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();
     ' Create a new 'HttpWebRequest' Object to the mentioned URL.
     Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://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()

注釈

注意

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 要求にヘッダーを変更または追加する可能性があるため、ヘッダー値が変更されないと想定しないでください。

適用対象