HttpWebRequest.Headers Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica uma coleção dos 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 de Propriedade
A WebHeaderCollection que contém os pares nome/valor que compõem os cabeçalhos do pedido HTTP.
Exceções
O pedido foi iniciado chamando o GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), GetResponse(), ou BeginGetResponse(AsyncCallback, Object) método.
Exemplos
O exemplo de código seguinte usa a Headers propriedade para imprimir os pares nome/valor do cabeçalho HTTP na consola.
// 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()
Observações
Atenção
WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.
A Headers coleção contém os cabeçalhos do protocolo associados ao pedido. A tabela seguinte lista os cabeçalhos HTTP que não estão armazenados na Headers coleção, mas que são definidos pelo sistema ou por propriedades ou métodos.
| Cabeçalho | Definido por |
|---|---|
| Aceitar | Definido pela Accept propriedade. |
| Connection | Definido pela Connection propriedade e KeepAlive propriedade. |
| Tamanho do conteúdo | Definido pela ContentLength propriedade. |
| Tipo de Conteúdo | Definido pela ContentType propriedade. |
| Espera | Definido pela Expect propriedade. |
| Data | Definido pela Date propriedade. |
| Host | Definido pela Host propriedade. |
| Se-Modificado-Desde | Definido pela IfModifiedSince propriedade. |
| Alcance | Definido pelo AddRange método. |
| Referência | Definido pela Referer propriedade. |
| Transfer-Encoding | Definido pela TransferEncoding propriedade (a SendChunked propriedade deve ser verdadeira). |
| User-Agent | Definido pela UserAgent propriedade. |
O Add método lança um ArgumentException lançamento se tentares definir um destes cabeçalhos protegidos.
Alterar a Headers propriedade após o pedido ter sido iniciado, chamando GetRequestStream, BeginGetRequestStream, GetResponse, ou BeginGetResponse método gera um InvalidOperationException.
Não deve assumir que os valores dos cabeçalhos permanecerão inalterados, pois servidores Web e caches podem alterar ou adicionar cabeçalhos a um pedido Web.