Sdílet prostřednictvím


WebClient.Headers Vlastnost

Definice

Získá nebo nastaví kolekci dvojic název/hodnota hlavičky přidružené k požadavku.

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

Hodnota vlastnosti

WebHeaderCollection obsahující páry název/hodnota hlavičky přidružené k tomuto požadavku.

Příklady

Následující příklad kódu používá kolekci Headers k nastavení hlavičky HTTP Content-Type tak, aby application/x-www-form-urlencoded, upozorňovat server, že data formuláře jsou připojena k příspěvku.

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

Poznámky

Opatrnost

WebRequest, HttpWebRequest, ServicePointa WebClient jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.

Vlastnost Headers obsahuje instanci WebHeaderCollection obsahující hlavičky protokolu, které WebClient odešle s požadavkem.

Některé běžné hlavičky jsou považovány za omezené a jsou chráněny systémem a nelze je nastavit ani změnit v objektu WebHeaderCollection. Při pokusu o odeslání požadavku WebClient dojde při pokusu o odeslání požadavku WebClient při každém pokusu o nastavení některého z těchto omezených hlaviček v objektu WebHeaderCollection přidruženém k objektu WebClient.

Omezená záhlaví chráněná systémem zahrnují, ale nejsou omezeny na následující:

  • Rande

  • Hostitel

Kromě toho jsou některé další hlavičky také omezeny při použití objektu WebClient. Mezi tyto hlavičky s omezeným přístupem patří, ale nejsou omezeny na následující:

  • Přijmout

  • Připojení

  • Délka obsahu

  • Očekávejte (pokud je hodnota nastavená na "100-continue".

  • If-Modified-Since

  • Rozmezí

  • Transfer-Encoding

Třída HttpWebRequest má vlastnosti pro nastavení některých výše uvedených hlaviček. Pokud je důležité, aby aplikace nastavil tyto hlavičky, měla by být použita třída HttpWebRequest místo třídy WebRequest.

Neměli byste předpokládat, že hodnoty hlaviček zůstanou beze změny, protože webové servery a mezipaměti můžou změnit nebo přidat hlavičky do webového požadavku.

Platí pro

Viz také