HttpWebRequest.Headers Właściwość

Definicja

Określa kolekcję par nazwa/wartość, które składają się na nagłówki HTTP.Specifies a collection of the name/value pairs that make up the HTTP headers.

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

Wartość właściwości

WebHeaderCollection, który zawiera pary nazwa/wartość, które tworzą nagłówki dla żądania HTTP.A WebHeaderCollection that contains the name/value pairs that make up the headers for the HTTP request.

Wyjątki

Przykłady

Poniższy przykład kodu używa właściwości Headers do drukowania par nazwa/wartość nagłówka HTTP w konsoli programu.The following code example uses the Headers property to print the HTTP header name/value pairs to the console.

// 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()

Uwagi

Kolekcja Headers zawiera nagłówki protokołu skojarzone z żądaniem.The Headers collection contains the protocol headers associated with the request. Poniższa tabela zawiera nagłówki HTTP, które nie są przechowywane w kolekcji Headers, ale są ustawiane przez system lub ustawione przez właściwości lub metody.The following table lists the HTTP headers that are not stored in the Headers collection but are either set by the system or set by properties or methods.

NagłówekHeader Ustawione przezSet by
AkceptujAccept Ustawiony przez właściwość Accept.Set by the Accept property.
PołączenieConnection Ustaw właściwość Connection i Właściwość KeepAlive.Set by the Connection property and KeepAlive property.
Długość zawartościContent-Length Ustawiony przez właściwość ContentLength.Set by the ContentLength property.
Content-TypeContent-Type Ustawiony przez właściwość ContentType.Set by the ContentType property.
PuszczaćExpect Ustawiony przez właściwość Expect.Set by the Expect property.
DateDate Ustawiony przez właściwość Date.Set by the Date property.
HostHost Ustawiony przez właściwość Host.Set by the Host property.
If-Modified-SinceIf-Modified-Since Ustawiony przez właściwość IfModifiedSince.Set by the IfModifiedSince property.
ZakresRange Ustawiane przez metodę AddRange.Set by the AddRange method.
RefererReferer Ustawiony przez właściwość Referer.Set by the Referer property.
Transfer-EncodingTransfer-Encoding Ustaw właściwość TransferEncoding (Właściwość SendChunked musi mieć wartość true).Set by the TransferEncoding property (the SendChunked property must be true).
User-AgentUser-Agent Ustawiony przez właściwość UserAgent.Set by the UserAgent property.

Metoda Add zgłasza ArgumentException w przypadku próby ustawienia jednego z tych chronionych nagłówków.The Add method throws an ArgumentException if you try to set one of these protected headers.

Zmiana właściwości Headers po rozpoczęciu żądania przez wywołanie GetRequestStream, BeginGetRequestStream, GetResponselub metoda BeginGetResponse zgłasza InvalidOperationException.Changing the Headers property after the request has been started by calling GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method throws an InvalidOperationException.

Nie należy zakładać, że wartości nagłówka pozostaną niezmienione, ponieważ serwery sieci Web i pamięci podręczne mogą zmieniać lub dodawać nagłówki do żądania sieci Web.You should not assume that the header values will remain unchanged, because Web servers and caches may change or add headers to a Web request.

Dotyczy