WebClient.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.
Dient zum Abrufen oder Festlegen einer Auflistung von Headernamen-Wert-Paaren, die der Anforderung zugeordnet sind.
public:
property System::Net::WebHeaderCollection ^ Headers { System::Net::WebHeaderCollection ^ get(); void set(System::Net::WebHeaderCollection ^ value); };
public System.Net.WebHeaderCollection Headers { get; set; }
member this.Headers : System.Net.WebHeaderCollection with get, set
Public Property Headers As WebHeaderCollection
Eigenschaftswert
Eine WebHeaderCollection, die Kopfzeilennamen/Wertpaare enthält, die dieser Anforderung zugeordnet sind.
Beispiele
Im folgenden Codebeispiel wird die Headers-Auflistung verwendet, um den HTTP-Content-Type
-Header auf application/x-www-form-urlencoded,
festzulegen, um den Server darüber zu benachrichtigen, dass Formulardaten an den Beitrag angefügt sind.
String^ uriString;
Console::Write( "\nPlease enter the URI to post data to {for example, http://www.contoso.com}: " );
uriString = Console::ReadLine();
// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine( "\nPlease enter the data to be posted to the URI {0}:", uriString );
String^ postData = Console::ReadLine();
myWebClient->Headers->Add( "Content-Type", "application/x-www-form-urlencoded" );
// Displays the headers in the request
Console::Write( "Resulting Request Headers: ");
Console::WriteLine(myWebClient->Headers);
// Apply ASCII Encoding to obtain the String^ as a Byte array.
array<Byte>^ byteArray = Encoding::ASCII->GetBytes( postData );
Console::WriteLine( "Uploading to {0} ...", uriString );
// Upload the input String* using the HTTP 1.0 POST method.
array<Byte>^responseArray = myWebClient->UploadData( uriString, "POST", byteArray );
// Decode and display the response.
Console::WriteLine( "\nResponse received was {0}",
Encoding::ASCII->GetString( responseArray ) );
string uriString;
Console.Write("\nPlease enter the URI to post data to {for example, http://www.contoso.com} : ");
uriString = Console.ReadLine();
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
Console.WriteLine("\nPlease enter the data to be posted to the URI {0}:",uriString);
string postData = Console.ReadLine();
myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
// Display the headers in the request
Console.Write("Resulting Request Headers: ");
Console.WriteLine(myWebClient.Headers.ToString());
// Apply ASCII Encoding to obtain the string as a byte array.
byte[] byteArray = Encoding.ASCII.GetBytes(postData);
Console.WriteLine("Uploading to {0} ...", uriString);
// Upload the input string using the HTTP 1.0 POST method.
byte[] responseArray = myWebClient.UploadData(uriString,"POST",byteArray);
// Decode and display the response.
Console.WriteLine("\nResponse received was {0}",
Encoding.ASCII.GetString(responseArray));
Dim uriString As String
Console.Write(ControlChars.Cr + "Please enter the URI to post data to{for example, http://www.contoso.com} : ")
uriString = Console.ReadLine()
' Create a new WebClient instance.
Dim myWebClient As New WebClient()
Console.WriteLine(ControlChars.Cr + "Please enter the data to be posted to the URI {0}:", uriString)
Dim postData As String = Console.ReadLine()
myWebClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded")
' Display the headers in the request
Console.Write("Resulting Request Headers: ")
Console.Writeline(myWebClient.Headers.ToString())
' Apply ASCII Encoding to obtain the string as a byte array.
Dim byteArray As Byte() = Encoding.ASCII.GetBytes(postData)
Console.WriteLine("Uploading to {0} ...", uriString)
' Upload the input string using the HTTP 1.0 POST method.
Dim responseArray As Byte() = myWebClient.UploadData(uriString, "POST", byteArray)
' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response received was :{0}", Encoding.ASCII.GetString(responseArray))
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-Eigenschaft enthält eine WebHeaderCollection Instanz mit Protokollheadern, die vom WebClient mit der Anforderung gesendet werden.
Einige allgemeine Header gelten als eingeschränkt und werden vom System geschützt und können in einem WebHeaderCollection-Objekt nicht festgelegt oder geändert werden. Jeder Versuch, einen dieser eingeschränkten Header im WebHeaderCollection Objekt festzulegen, das einem WebClient-Objekt zugeordnet ist, löst eine Ausnahme später aus, wenn versucht wird, die WebClient Anforderung zu senden.
Eingeschränkte Header, die durch das System geschützt sind, sind jedoch nicht auf Folgendes beschränkt:
Datum
Gastgeber
Darüber hinaus sind einige andere Header auch eingeschränkt, wenn ein WebClient-Objekt verwendet wird. Zu diesen eingeschränkten Headern gehören, sind jedoch nicht auf Folgendes beschränkt:
Annehmen
Verbindung
Inhaltslänge
Erwarten (wenn der Wert auf "100-continue" festgelegt ist
If-Modified-Since
Bereich
Transfer-Encoding
Die HttpWebRequest Klasse verfügt über Eigenschaften zum Festlegen einiger der obigen Header. Wenn es für eine Anwendung wichtig ist, diese Header festzulegen, sollte die HttpWebRequest Klasse anstelle der WebRequest Klasse verwendet werden.
Sie sollten nicht davon ausgehen, dass die Headerwerte unverändert bleiben, da Webserver und Caches Kopfzeilen einer Webanforderung ändern oder hinzufügen können.