WebClient.Headers Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia kolekcję par nazwa/wartość nagłówka skojarzonych z żądaniem.
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
Wartość właściwości
WebHeaderCollection zawierająca pary nazwa/wartość nagłówka skojarzone z tym żądaniem.
Przykłady
W poniższym przykładzie kodu użyto kolekcji Headers, aby ustawić nagłówek Content-Type
HTTP na application/x-www-form-urlencoded,
, aby powiadomić serwer, że dane formularza są dołączone do wpisu.
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))
Uwagi
Ostrożność
WebRequest
, HttpWebRequest
, ServicePoint
i WebClient
są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.
Właściwość Headers zawiera wystąpienie WebHeaderCollection zawierające nagłówki protokołu, które WebClient wysyła z żądaniem.
Niektóre typowe nagłówki są uważane za ograniczone i są chronione przez system i nie można go ustawić ani zmienić w obiekcie WebHeaderCollection. Każda próba ustawienia jednego z tych ograniczonych nagłówków w obiekcie WebHeaderCollection skojarzonym z obiektem WebClient zgłosi wyjątek później podczas próby wysłania żądania WebClient.
Ograniczone nagłówki chronione przez system obejmują, ale nie są ograniczone do następujących:
Data
Gospodarz
Ponadto niektóre inne nagłówki są również ograniczone w przypadku korzystania z obiektu WebClient. Te ograniczone nagłówki obejmują, ale nie są ograniczone do następujących:
Akceptować
Połączenie
Długość zawartości
Oczekiwano (gdy wartość jest ustawiona na "100-continue"
If-Modified-Since
Zakres
Transfer-Encoding
Klasa HttpWebRequest ma właściwości ustawiania niektórych powyższych nagłówków. Jeśli ważne jest, aby aplikacja ustawiła te nagłówki, należy użyć klasy HttpWebRequest zamiast klasy WebRequest.
Nie należy zakładać, że wartości nagłówka pozostaną niezmienione, ponieważ serwery sieci Web i pamięci podręczne mogą zmieniać lub dodawać nagłówki do żądania sieci Web.