WebClient.Headers Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví kolekci párů 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
Obsahující WebHeaderCollection páry název a 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
na pro application/x-www-form-urlencoded,
upozornění serveru, ž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
Vlastnost Headers obsahuje WebHeaderCollection instanci obsahující hlavičky protokolu, které WebClient odesílá s požadavkem.
Některé běžné hlavičky jsou považovány za omezené a jsou chráněné systémem a nelze je nastavit nebo změnit v objektu WebHeaderCollection . Jakýkoli pokus o nastavení jedné z těchto omezených hlaviček v objektu WebHeaderCollection přidruženém k objektu WebClient vyvolá výjimku později při pokusu o WebClient odeslání požadavku.
Mezi hlavičky s omezeným přístupem chráněný systémem patří mimo jiné následující:
Datum
Host
Kromě toho jsou při použití objektu WebClient omezeny také některé další hlavičky. Mezi tyto hlavičky s omezeným přístupem patří mimo jiné:
Přijmout
Připojení
Délka obsahu
Očekávejte (pokud je hodnota nastavená na hodnotu 100-continue)
Pokud se změnilo od té doby
Rozsah
Transfer-Encoding
Třída HttpWebRequest má vlastnosti pro nastavení některých výše uvedených hlaviček. Pokud je pro aplikaci důležité nastavit tyto hlavičky, pak HttpWebRequest by se místo třídy měla použít WebRequest třída.
Neměli byste předpokládat, že hodnoty hlaviček zůstanou beze změny, protože webové servery a mezipaměti mohou změnit nebo přidat hlavičky webového požadavku.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro