WebClient.Headers Eigenschaft

Definition

Ruft eine Auflistung der Name-Wert-Paare für Header auf, die der Anforderung zugeordnet sind, oder legt diese fest.

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 mit den dieser Anforderung zugeordneten Name-Wert-Paaren für Header.

Beispiele

Im folgenden Codebeispiel wird die Headers Auflistung verwendet, um den HTTP-Header Content-Type auf festzulegen, um application/x-www-form-urlencoded, den Server zu benachrichtigen, dass Formulardaten an den Post 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

Die Headers -Eigenschaft enthält eine WebHeaderCollection Instanz mit Protokollheadern, die mit WebClient der Anforderung gesendet werden.

Einige gängige Header gelten als eingeschränkt und werden 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 Objekt festzulegen, das WebHeaderCollection einem WebClient Objekt zugeordnet ist, löst später eine Ausnahme aus, wenn versucht wird, die WebClient Anforderung zu senden.

Eingeschränkte Header, die vom System geschützt werden, umfassen folgendes, sind jedoch nicht beschränkt auf Folgendes:

  • Datum

  • Host

Darüber hinaus sind einige andere Header auch eingeschränkt, wenn ein WebClient -Objekt verwendet wird. Diese eingeschränkten Header umfassen Folgendes, sind jedoch nicht beschränkt auf Folgendes:

  • Akzeptieren

  • Verbindung

  • Content-Length

  • 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 oben genannten 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 Header einer Webanforderung ändern oder hinzufügen können.

Gilt für:

Weitere Informationen