WebClient.Headers Proprietà

Definizione

Ottiene o imposta una raccolta di coppie nome/valore di intestazione associate alla richiesta.Gets or sets a collection of header name/value pairs associated with the request.

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

Valore della proprietà

WebHeaderCollection

Oggetto WebHeaderCollection contenente coppie nome/valore di intestazione associate alla richiesta.A WebHeaderCollection containing header name/value pairs associated with this request.

Esempio

Nell'esempio di codice seguente viene usata la Headers raccolta per impostare l' Content-Type intestazione HTTP su application/x-www-form-urlencoded, per notificare al server che i dati del modulo sono allegati al post.The following code example uses the Headers collection to set the HTTP Content-Type header to application/x-www-form-urlencoded, to notify the server that form data is attached to the post.

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

Commenti

La Headers proprietà contiene un' WebHeaderCollection istanza di che contiene le intestazioni di protocollo che WebClient Invia con la richiesta.The Headers property contains a WebHeaderCollection instance containing protocol headers that the WebClient sends with the request.

Alcune intestazioni comuni sono considerate limitate e sono protette dal sistema e non possono essere impostate o modificate in un WebHeaderCollection oggetto.Some common headers are considered restricted and are protected by the system and cannot be set or changed in a WebHeaderCollection object. Qualsiasi tentativo di impostare una di queste intestazioni limitate nell' WebHeaderCollection oggetto associato a un WebClient oggetto genererà un'eccezione in un secondo momento durante il tentativo di invio della WebClient richiesta.Any attempt to set one of these restricted headers in the WebHeaderCollection object associated with a WebClient object will throw an exception later when attempting to send the WebClient request.

Le intestazioni con restrizioni protette dal sistema comprendono, ma non sono limitate a quanto segue:Restricted headers protected by the system include, but are not limited to the following:

  • DataDate

  • HostHost

Inoltre, quando si usa un oggetto sono limitate anche altre intestazioni WebClient .In addition, some other headers are also restricted when using a WebClient object. Queste intestazioni limitate includono, ma non sono limitate a quanto segue:These restricted headers include, but are not limited to the following:

  • AccettaAccept

  • ConnessioniConnection

  • Content-LengthContent-Length

  • Si prevede (quando il valore è impostato su "100-continue"Expect (when the value is set to "100-continue"

  • If-Modified-SinceIf-Modified-Since

  • RangeRange

  • Transfer-encodingTransfer-Encoding

La HttpWebRequest classe dispone di proprietà per l'impostazione di alcune delle intestazioni precedenti.The HttpWebRequest class has properties for setting some of the above headers. Se è importante che un'applicazione imposti queste intestazioni, è HttpWebRequest necessario usare la classe al posto della WebRequest classe.If it is important for an application to set these headers, then the HttpWebRequest class should be used instead of the WebRequest class.

Non è necessario presupporre che i valori dell'intestazione rimangano invariati, perché i server Web e le cache possono modificare o aggiungere intestazioni a una richiesta Web.You should not assume that the header values will remain unchanged, because Web servers and caches may change or add headers to a Web request.

Si applica a

Vedi anche