HttpWebRequest.Headers Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Die Anforderung wurde durch Aufrufen der methode GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()oder BeginGetResponse(AsyncCallback, Object) gestartet.
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
, ServicePoint
und 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.