HttpWebRequest.Headers Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica uma coleção de pares nome/valor que compõem os cabeçalhos 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
Valor da propriedade
Um WebHeaderCollection que contém os pares nome/valor que compõem os cabeçalhos da solicitação HTTP.
Exceções
A solicitação foi iniciada chamando o método GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse()ou BeginGetResponse(AsyncCallback, Object).
Exemplos
O exemplo de código a seguir usa a propriedade Headers para imprimir os pares nome/valor do cabeçalho HTTP no 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()
Comentários
Cuidado
WebRequest
, HttpWebRequest
, ServicePoint
e WebClient
estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.
A coleção Headers contém os cabeçalhos de protocolo associados à solicitação. A tabela a seguir lista os cabeçalhos HTTP que não são armazenados na coleção Headers, mas são definidos pelo sistema ou definidos por propriedades ou métodos.
Cabeçalho | Definido por |
---|---|
Aceitar | Definido pela propriedade Accept. |
Conexão | Definido pela propriedade Connection e KeepAlive propriedade. |
Comprimento do conteúdo | Definido pela propriedade ContentLength. |
Tipo de conteúdo | Definido pela propriedade ContentType. |
Esperar | Definido pela propriedade Expect. |
Data | Definido pela propriedade Date. |
Anfitrião | Definido pela propriedade Host. |
Se-Modified-Since | Definido pela propriedade IfModifiedSince. |
Gama | Definido pelo método AddRange. |
Referenciador | Definido pela propriedade Referer. |
Transfer-Encoding | Definido pela propriedade TransferEncoding (a propriedade SendChunked deve ser verdadeira). |
User-Agent | Definido pela propriedade UserAgent. |
O método Add gerará um ArgumentException se você tentar definir um desses cabeçalhos protegidos.
Alterar a propriedade Headers após a solicitação ter sido iniciada chamando GetRequestStream, BeginGetRequestStream, GetResponseou BeginGetResponse método lança um InvalidOperationException.
Você não deve assumir que os valores de cabeçalho permanecerão inalterados, pois servidores Web e caches podem alterar ou adicionar cabeçalhos a uma solicitação da Web.