HttpWebRequest.Headers Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie une collection des paires nom/valeur qui composent les en-têtes HTTP.
public:
virtual property System::Net::WebHeaderCollection ^ Headers { System::Net::WebHeaderCollection ^ get(); void set(System::Net::WebHeaderCollection ^ value); };
public override System.Net.WebHeaderCollection Headers { get; set; }
member this.Headers : System.Net.WebHeaderCollection with get, set
Public Overrides Property Headers As WebHeaderCollection
Valeur de propriété
Un WebHeaderCollection qui contient les paires nom/valeur qui composent les en-têtes de la requête HTTP.
Exceptions
La requête a été démarrée en appelant la méthode GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()ou BeginGetResponse(AsyncCallback, Object).
Exemples
L’exemple de code suivant utilise la propriété Headers pour imprimer les paires nom/valeur d’en-tête HTTP dans la console.
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest^ myHttpWebRequest = (HttpWebRequest^)( WebRequest::Create( "http://www.contoso.com" ) );
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse^ myHttpWebResponse = (HttpWebResponse^)( myHttpWebRequest->GetResponse() );
Console::WriteLine( "\nThe HttpHeaders are \n\n\tName\t\tValue\n {0}", myHttpWebRequest->Headers );
// Print the HTML contents of the page to the console.
Stream^ streamResponse = myHttpWebResponse->GetResponseStream();
StreamReader^ streamRead = gcnew StreamReader( streamResponse );
array<Char>^ readBuff = gcnew array<Char>(256);
int count = streamRead->Read( readBuff, 0, 256 );
Console::WriteLine( "\nThe HTML contents of page the are : \n\n " );
while ( count > 0 )
{
String^ outputData = gcnew String( readBuff,0,count );
Console::Write( outputData );
count = streamRead->Read( readBuff, 0, 256 );
}
streamResponse->Close();
streamRead->Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse->Close();
// Create a new 'HttpWebRequest' Object to the mentioned URL.
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create("http://www.contoso.com");
// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
Console.WriteLine("\nThe HttpHeaders are \n\n\tName\t\tValue\n{0}",myHttpWebRequest.Headers);
// Print the HTML contents of the page to the console.
Stream streamResponse=myHttpWebResponse.GetResponseStream();
StreamReader streamRead = new StreamReader( streamResponse );
Char[] readBuff = new Char[256];
int count = streamRead.Read( readBuff, 0, 256 );
Console.WriteLine("\nThe HTML contents of page the are : \n\n ");
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
Console.Write(outputData);
count = streamRead.Read(readBuff, 0, 256);
}
// Close the Stream object.
streamResponse.Close();
streamRead.Close();
// Release the HttpWebResponse Resource.
myHttpWebResponse.Close();
' Create a new 'HttpWebRequest' Object to the mentioned URL.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.contoso.com"), HttpWebRequest)
' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine(ControlChars.Cr + "The HttpHeaders are " + ControlChars.Cr + ControlChars.Cr + ControlChars.Tab + "Name" + ControlChars.Tab + ControlChars.Tab + "Value" + ControlChars.Cr + "{0}", myHttpWebRequest.Headers)
' Print the HTML contents of the page to the console.
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim streamRead As New StreamReader(streamResponse)
Dim readBuff(256) As [Char]
Dim count As Integer = streamRead.Read(readBuff, 0, 256)
Console.WriteLine(ControlChars.Cr + "The HTML contents of page the are : " + ControlChars.Cr + ControlChars.Cr + " ")
While count > 0
Dim outputData As New [String](readBuff, 0, count)
Console.Write(outputData)
count = streamRead.Read(readBuff, 0, 256)
End While
' Close the Stream object.
streamResponse.Close()
streamRead.Close()
' Release the HttpWebResponse Resource.
myHttpWebResponse.Close()
Remarques
Prudence
WebRequest
, HttpWebRequest
, ServicePoint
et WebClient
sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.
La collection Headers contient les en-têtes de protocole associés à la requête. Le tableau suivant répertorie les en-têtes HTTP qui ne sont pas stockés dans la collection Headers, mais qui sont définis par le système ou définis par des propriétés ou des méthodes.
En-tête | Défini par |
---|---|
Accepter | Défini par la propriété Accept. |
Connexion | Défini par la propriété Connection et la propriété KeepAlive. |
Longueur du contenu | Défini par la propriété ContentLength. |
Type de contenu | Défini par la propriété ContentType. |
Attendre | Défini par la propriété Expect. |
Date | Défini par la propriété Date. |
Hôte | Défini par la propriété Host. |
If-Modified-Since | Défini par la propriété IfModifiedSince. |
Gamme | Défini par la méthode AddRange. |
Referer | Défini par la propriété Referer. |
Transfer-Encoding | Définie par la propriété TransferEncoding (la propriété SendChunked doit être true). |
User-Agent | Défini par la propriété UserAgent. |
La méthode Add lève une ArgumentException si vous essayez de définir l’un de ces en-têtes protégés.
La modification de la propriété Headers une fois la requête démarrée en appelant GetRequestStream, BeginGetRequestStream, GetResponseou méthode BeginGetResponse lève une InvalidOperationException.
Vous ne devez pas supposer que les valeurs d’en-tête restent inchangées, car les serveurs web et les caches peuvent changer ou ajouter des en-têtes à une requête Web.