WebClient.Headers WebClient.Headers WebClient.Headers WebClient.Headers Property

Definition

Ruft eine Auflistung der Name-Wert-Paare für Header auf, die der Anforderung zugeordnet sind, oder legt diese fest.Gets or sets a collection of header name/value pairs associated with the request.

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.A WebHeaderCollection containing header name/value pairs associated with this request.

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 zu benachrichtigen, dass Formulardaten an den Beitrag angefügt werden.The following code example uses the Headers collection to set the HTTP Content-Type header to application/x-www-form-urlencoded, to notify the server that form data is attached to the post.

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 Protokoll Headern, die vom WebClient mit der Anforderung gesendet werden.The Headers property contains a WebHeaderCollection instance containing protocol headers that the WebClient sends with the request.

Einige allgemeine Header werden als eingeschränkt angesehen und sind durch das System geschützt und können nicht in einem WebHeaderCollection-Objekt festgelegt oder geändert werden.Some common headers are considered restricted and are protected by the system and cannot be set or changed in a WebHeaderCollection object. Jeder Versuch, einen dieser eingeschränkten Header im WebHeaderCollection-Objekt festzulegen, das einem WebClient-Objekt zugeordnet ist, löst später eine Ausnahme aus, wenn versucht wird, die WebClient-Anforderung zu senden.Any attempt to set one of these restricted headers in the WebHeaderCollection object associated with a WebClient object will throw an exception later when attempting to send the WebClient request.

Eingeschränkte Header, die durch das System geschützt sind, sind u. a. nicht beschränkt auf Folgendes:Restricted headers protected by the system include, but are not limited to the following:

  • DatumDate

  • HostHost

Außerdem sind einige andere Header auch eingeschränkt, wenn ein WebClient-Objekt verwendet wird.In addition, some other headers are also restricted when using a WebClient object. Diese eingeschränkten Header umfassen, sind jedoch nicht auf Folgendes beschränkt:These restricted headers include, but are not limited to the following:

  • ErstAccept

  • VerbindungConnection

  • Inhalts LängeContent-Length

  • Erwartet (wenn der Wert auf "100-Continue" festgelegt ist.Expect (when the value is set to "100-continue"

  • If-modified-sinceIf-Modified-Since

  • BereichRange

  • Übertragungs CodierungTransfer-Encoding

Die HttpWebRequest-Klasse verfügt über Eigenschaften zum Festlegen einiger der obigen Header.The HttpWebRequest class has properties for setting some of the above headers. Wenn es für eine Anwendung wichtig ist, diese Header festzulegen, sollte die Klasse HttpWebRequest anstelle der Klasse WebRequest verwendet werden.If it is important for an application to set these headers, then the HttpWebRequest class should be used instead of the WebRequest class.

Sie sollten nicht davon ausgehen, dass die Header Werte unverändert bleiben, da Webserver und Caches eine Webanforderung ändern oder Header hinzufügen können.You should not assume that the header values will remain unchanged, because Web servers and caches may change or add headers to a Web request.

Gilt für:

Siehe auch