HttpWebRequest.Headers Propiedad

Definición

Especifica una colección de los pares nombre/valor que componen los encabezados 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 propiedad

WebHeaderCollection

WebHeaderCollection que contiene los pares nombre-valor que componen los encabezados de la solicitud HTTP.

Excepciones

Ejemplos

En el ejemplo de código siguiente se usa la Headers propiedad para imprimir los pares nombre/valor del encabezado HTTP en la 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 = 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()

Comentarios

La Headers colección contiene los encabezados de protocolo asociados a la solicitud. En la tabla siguiente se enumeran los encabezados HTTP que no están almacenados en la Headers colección, pero que el sistema establece o establece mediante propiedades o métodos.

Encabezado Establecido por
Aceptar Establézcalo por la Accept propiedad .
Conexión Se establece mediante la propiedad y KeepAlive la Connection propiedad .
Content-Length Establézcalo por la ContentLength propiedad .
Content-Type Establézcalo por la ContentType propiedad .
Expect Establézcalo por la Expect propiedad .
Date Establézcalo por la Date propiedad .
administrador de flujos de trabajo Establézcalo por la Host propiedad .
If-Modified-Since Establézcalo por la IfModifiedSince propiedad .
Intervalo Se establece mediante el AddRange método .
Referer Establézcalo por la Referer propiedad .
Transfer-Encoding Se establece mediante la TransferEncoding propiedad (la SendChunked propiedad debe ser true).
User-Agent Establézcalo por la UserAgent propiedad .

El Add método produce una ArgumentException excepción si intenta establecer uno de estos encabezados protegidos.

Si se cambia la Headers propiedad después de que se haya iniciado la solicitud, se llama al GetRequestStreammétodo , BeginGetRequestStreamGetResponse, o BeginGetResponse se produce una InvalidOperationExceptionexcepción .

No debe suponer que los valores de encabezado permanecerán sin cambios, ya que los servidores web y las memorias caché pueden cambiar o agregar encabezados a una solicitud web.

Se aplica a