Freigeben über


WebClient.Headers Eigenschaft

Definition

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 enthaltende Headername/Wert-Paare, die dieser Anforderung zugeordnet sind.

Beispiele

Im folgenden Codebeispiel wird die Headers Auflistung verwendet, um den HTTP-Header Content-Type so application/x-www-form-urlencoded, festzulegen, dass der Server benachrichtigt wird, dass Formulardaten an den Beitrag angefügt werden.

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, ServicePointund 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 WebClient mit der Anforderung gesendet werden.

Einige allgemeine Header gelten als eingeschränkt und sind vom System geschützt und können nicht in einem WebHeaderCollection Objekt festgelegt oder geändert werden. Jeder Versuch, einen dieser eingeschränkten Header im WebHeaderCollection einem Objekt zugeordneten WebClient Objekt festzulegen, löst später beim Versuch, die WebClient Anforderung zu senden, eine Ausnahme aus.

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 beim Verwenden eines WebClient Objekts eingeschränkt. 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.

Gilt für:

Weitere Informationen