Freigeben über


HttpWebRequest.Headers Eigenschaft

Definition

Gibt eine Auflistung der Namen-Wert-Paare an, aus denen die HTTP-Header bestehen.

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

Eigenschaftswert

Eine WebHeaderCollection, die die Namen/Wert-Paare enthält, aus denen die Header für die HTTP-Anforderung bestehen.

Ausnahmen

Beispiele

Im folgenden Codebeispiel wird die Headers-Eigenschaft verwendet, um die HTTP-Headernamen/Wertpaare in die Konsole zu drucken.

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

Hinweise

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

Die Headers-Auflistung enthält die Protokollheader, die der Anforderung zugeordnet sind. In der folgenden Tabelle sind die HTTP-Header aufgeführt, die nicht in der Headers-Auflistung gespeichert sind, aber entweder vom System festgelegt oder von Eigenschaften oder Methoden festgelegt werden.

Kopfball Festlegen nach
Annehmen Wird von der eigenschaft Accept festgelegt.
Verbindung Wird durch die eigenschaft Connection und KeepAlive festgelegt.
Inhaltslänge Wird von der eigenschaft ContentLength festgelegt.
Inhaltstyp Wird von der eigenschaft ContentType festgelegt.
Erwarten Wird von der eigenschaft Expect festgelegt.
Datum Wird von der eigenschaft Date festgelegt.
Gastgeber Wird von der eigenschaft Host festgelegt.
If-Modified-Since Wird von der eigenschaft IfModifiedSince festgelegt.
Bereich Wird von der AddRange-Methode festgelegt.
Referer Wird von der eigenschaft Referer festgelegt.
Transfer-Encoding Durch die eigenschaft TransferEncoding festgelegt (die eigenschaft SendChunked muss true sein).
User-Agent Wird von der eigenschaft UserAgent festgelegt.

Die Add-Methode löst eine ArgumentException aus, wenn Sie versuchen, einen dieser geschützten Header festzulegen.

Wenn Sie die eigenschaft Headers ändern, nachdem die Anforderung gestartet wurde, wird durch Aufrufen von GetRequestStream, BeginGetRequestStream, GetResponseoder BeginGetResponse Methode ein InvalidOperationExceptionausgelöst.

Sie sollten nicht davon ausgehen, dass die Headerwerte unverändert bleiben, da Webserver und Caches Kopfzeilen einer Webanforderung ändern oder hinzufügen können.

Gilt für: