WebClient.Headers Propriété

Définition

Obtient ou définit une collection de paires nom/valeur d'en-tête associées à la requête.

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

Valeur de propriété

WebHeaderCollection contenant les paires nom/valeur d'en-tête associées à cette demande.

Exemples

L’exemple de code suivant utilise la Headers collection pour définir l’en-tête HTTP Content-Type sur application/x-www-form-urlencoded, afin d’informer le serveur que les données de formulaire sont attachées à la publication.

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))

Remarques

La Headers propriété contient un WebHeaderCollection instance contenant les en-têtes de protocole que le WebClient envoie avec la demande.

Certains en-têtes courants sont considérés comme restreints et protégés par le système et ne peuvent pas être définis ou modifiés dans un WebHeaderCollection objet. Toute tentative de définition de l’un de ces en-têtes restreints dans l’objet WebHeaderCollection associé à un WebClient objet lève une exception ultérieurement lors de la tentative d’envoi de la WebClient demande.

Les en-têtes restreints protégés par le système incluent, mais ne sont pas limités aux éléments suivants :

  • Date

  • Host

En outre, d’autres en-têtes sont également restreints lors de l’utilisation d’un WebClient objet. Ces en-têtes restreints incluent, sans s’y limiter , les éléments suivants :

  • Acceptation

  • Connexion

  • Content-Length

  • Attendre (lorsque la valeur est définie sur « 100-continue »

  • If-Modified-Since

  • Plage

  • Transfer-Encoding

La HttpWebRequest classe a des propriétés permettant de définir certains des en-têtes ci-dessus. S’il est important pour une application de définir ces en-têtes, la HttpWebRequest classe doit être utilisée à la place de la WebRequest classe .

Vous ne devez pas supposer que les valeurs d’en-tête resteront inchangées, car les serveurs web et les caches peuvent changer ou ajouter des en-têtes à une requête web.

S’applique à

Voir aussi