Udostępnij za pośrednictwem


WebClient.Headers Właściwość

Definicja

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, ServicePointi 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.

Dotyczy

Zobacz też