Поделиться через


WebHeaderCollection.Add Метод

Определение

Вставляет новый заголовок в коллекцию.

Перегрузки

Add(String)

Вставляет заданный заголовок в коллекцию.

Add(HttpRequestHeader, String)

Вставляет в коллекцию указанный заголовок с заданным значением.

Add(HttpResponseHeader, String)

Вставляет в коллекцию указанный заголовок с заданным значением.

Add(String, String)

Вставляет в коллекцию указанный заголовок с заданными именем и значением.

Add(String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Вставляет заданный заголовок в коллекцию.

public:
 void Add(System::String ^ header);
public void Add (string header);
override this.Add : string -> unit
Public Sub Add (header As String)

Параметры

header
String

Заголовок для добавления с именем и значением, разделенными двоеточием.

Исключения

header имеет значение null или Empty.

header не содержит знака двоеточия (:).

Длина value больше 65535.

-или-

Часть имени header равна Empty или содержит недопустимые символы.

-или-

header — ограниченный заголовок, который следует задавать с помощью свойства.

-или-

Часть значения header содержит недопустимые символы.

Только .NET Framework и .NET Core версий 2.0–3.1: длина строки после двоеточия (:) превышает 65 535 символов.

Примеры

В следующем примере пара "имя-значение" добавляется в с WebHeaderCollection помощью Add метода .

try
{
   //Create a web request for S"www.msn.com".
   HttpWebRequest^ myHttpWebRequest = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.msn.com" ));

   //Get the headers associated with the request.
   WebHeaderCollection^ myWebHeaderCollection = myHttpWebRequest->Headers;
   Console::WriteLine( "Configuring Webrequest to accept Danish and English language using 'Add' method" );

   //Add the Accept-Language header (for Danish) in the request.
   myWebHeaderCollection->Add( "Accept-Language:da" );

   //Include English in the Accept-Langauge header.
   myWebHeaderCollection->Add( "Accept-Language:en;q=0.8" );

   //Get the associated response for the above request.
   HttpWebResponse^ myHttpWebResponse = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse());

   //Print the headers for the request.
   printHeaders( myWebHeaderCollection );
   myHttpWebResponse->Close();
}
//Catch exception if trying to add a restricted header.
catch ( ArgumentException^ e ) 
{
   Console::WriteLine( e->Message );
}
catch ( WebException^ e ) 
{
   Console::WriteLine( "\nWebException is thrown. \nMessage is : {0}", e->Message );
   if ( e->Status == WebExceptionStatus::ProtocolError )
   {
      Console::WriteLine( "Status Code : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusCode );
      Console::WriteLine( "Status Description : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusDescription );
      Console::WriteLine( "Server : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->Server );
   }
}
catch ( Exception^ e ) 
{
   Console::WriteLine( "Exception is thrown. Message is : {0}", e->Message );
}
try {
    //Create a web request for "www.msn.com".
    HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("http://www.msn.com");

    //Get the headers associated with the request.
    WebHeaderCollection myWebHeaderCollection = myHttpWebRequest.Headers;

    Console.WriteLine("Configuring Webrequest to accept Danish and English language using 'Add' method");

    //Add the Accept-Language header (for Danish) in the request.
    myWebHeaderCollection.Add("Accept-Language:da");

    //Include English in the Accept-Langauge header. 
    myWebHeaderCollection.Add("Accept-Language","en;q=0.8");

    //Get the associated response for the above request.
    HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();

    //Print the headers for the request.
    printHeaders(myWebHeaderCollection);
    myHttpWebResponse.Close();
}
//Catch exception if trying to add a restricted header.
catch(ArgumentException e) {
    Console.WriteLine(e.Message);
}
catch(WebException e) {
    Console.WriteLine("\nWebException is thrown. \nMessage is :" + e.Message);
    if(e.Status == WebExceptionStatus.ProtocolError) {
        Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
        Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
        Console.WriteLine("Server : {0}", ((HttpWebResponse)e.Response).Server);
    }
}
catch(Exception e) {
    Console.WriteLine("Exception is thrown. Message is :" + e.Message);
}
Public Shared Sub Main()

 Try
        'Create a web request for "www.msn.com".
        Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.msn.com"), HttpWebRequest)
        
        'Get the headers associated with the request.
        Dim myWebHeaderCollection As WebHeaderCollection = myHttpWebRequest.Headers
        
    Console.WriteLine("Configuring Webrequest to accept Danish and English language using 'Add' method")
        
    'Add the Accept-Language header (for Danish) in the request.
        myWebHeaderCollection.Add("Accept-Language:da")
        
        'Include English in the Accept-Langauge header. 
        myWebHeaderCollection.Add("Accept-Language","en;q" + ChrW(61) + "0.8")
        
        'Get the associated response for the above request.
        Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
        
        'Print the headers for the request.
        printHeaders(myWebHeaderCollection)
        myHttpWebResponse.Close()
    'Catch exception if trying to add a restricted header.
    Catch e As ArgumentException
        Console.WriteLine(e.Message)
    Catch e As WebException
        Console.WriteLine(e.Message)
        If e.Status = WebExceptionStatus.ProtocolError Then
            Console.WriteLine("Status Code : {0}", CType(e.Response, HttpWebResponse).StatusCode)
            Console.WriteLine("Status Description : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
            Console.WriteLine("Server : {0}", CType(e.Response, HttpWebResponse).Server)
        End If
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
End Sub

Примечание

Длина части значения , то есть строка после двоеточия header(:), проверяется только в .NET Framework и .NET Core версий 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина части headerзначения больше 65535. Все остальные WebHeaderCollection экземпляры принимают значение любой длины.
  • В версиях .NET Core до версии 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типаHttpResponseHeader, вызывает исключение , ArgumentOutOfRangeException если длина части headerзначения больше 65535. Все остальные WebHeaderCollection экземпляры принимают значение любой длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает значение любой длины.

Комментарии

Параметр header должен быть указан в формате "name:value". Если указанный заголовок не существует в коллекции, в коллекцию добавляется новый заголовок.

Если заголовок, указанный в , header уже присутствует в коллекции, часть header значения сцепляется с существующим значением.

Применяется к

Add(HttpRequestHeader, String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Вставляет в коллекцию указанный заголовок с заданным значением.

public:
 void Add(System::Net::HttpRequestHeader header, System::String ^ value);
public void Add (System.Net.HttpRequestHeader header, string? value);
public void Add (System.Net.HttpRequestHeader header, string value);
override this.Add : System.Net.HttpRequestHeader * string -> unit
Public Sub Add (header As HttpRequestHeader, value As String)

Параметры

header
HttpRequestHeader

Заголовок для добавления в коллекцию.

value
String

Содержимое заголовка.

Исключения

Только .NET Framework и .NET Core версий 2.0–3.1: длина value превышает 65 535 символов.

Этот экземпляр WebHeaderCollection не допускает экземпляры класса HttpRequestHeader.

Комментарии

Если указанный заголовок не существует, Add метод вставляет новый заголовок в список пар имя-значение заголовка.

Если указанный заголовок уже присутствует, добавляется в разделенный запятыми список значений, value связанных с заголовком.

Примечание

Длина проверяется только в .NET Framework и .NET Core версий value 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В версиях .NET Core до 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типа HttpResponseHeader , вызывает исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает объект любой value длины.

Применяется к

Add(HttpResponseHeader, String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Вставляет в коллекцию указанный заголовок с заданным значением.

public:
 void Add(System::Net::HttpResponseHeader header, System::String ^ value);
public void Add (System.Net.HttpResponseHeader header, string? value);
public void Add (System.Net.HttpResponseHeader header, string value);
override this.Add : System.Net.HttpResponseHeader * string -> unit
Public Sub Add (header As HttpResponseHeader, value As String)

Параметры

header
HttpResponseHeader

Заголовок для добавления в коллекцию.

value
String

Содержимое заголовка.

Исключения

Только .NET Framework и .NET Core версий 2.0–3.1: длина value превышает 65 535 символов.

Этот экземпляр WebHeaderCollection не допускает экземпляры класса HttpResponseHeader.

Комментарии

Если указанный заголовок не существует, Add метод вставляет новый заголовок в список пар имя-значение заголовка.

Если указанный заголовок уже присутствует, добавляется в разделенный запятыми список значений, value связанных с заголовком.

Примечание

Длина проверяется только в .NET Framework и .NET Core версий value 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В версиях .NET Core до 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типа HttpResponseHeader , вызывает исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает объект любой value длины.

Применяется к

Add(String, String)

Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs
Исходный код:
WebHeaderCollection.cs

Вставляет в коллекцию указанный заголовок с заданными именем и значением.

public:
 override void Add(System::String ^ name, System::String ^ value);
public override void Add (string name, string? value);
public override void Add (string name, string value);
override this.Add : string * string -> unit
Public Overrides Sub Add (name As String, value As String)

Параметры

name
String

Заголовок для добавления в коллекцию.

value
String

Содержимое заголовка.

Исключения

name имеет значение null, Empty или содержит недопустимые символы.

-или-

name — это ограниченный заголовок, который необходимо задавать с помощью свойства.

-или-

Параметр value содержит недопустимые символы.

Только .NET Framework и .NET Core версий 2.0–3.1: длина value превышает 65 535 символов.

Примеры

В следующем примере пара "имя-значение" добавляется в с WebHeaderCollection помощью Add метода .

try
{
   //Create a web request for S"www.msn.com".
   HttpWebRequest^ myHttpWebRequest = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.msn.com" ));

   //Get the headers associated with the request.
   WebHeaderCollection^ myWebHeaderCollection = myHttpWebRequest->Headers;
   Console::WriteLine( "Configuring Webrequest to accept Danish and English language using 'Add' method" );

   //Add the Accept-Language header (for Danish) in the request.
   myWebHeaderCollection->Add( "Accept-Language:da" );

   //Include English in the Accept-Langauge header.
   myWebHeaderCollection->Add( "Accept-Language:en;q=0.8" );

   //Get the associated response for the above request.
   HttpWebResponse^ myHttpWebResponse = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse());

   //Print the headers for the request.
   printHeaders( myWebHeaderCollection );
   myHttpWebResponse->Close();
}
//Catch exception if trying to add a restricted header.
catch ( ArgumentException^ e ) 
{
   Console::WriteLine( e->Message );
}
catch ( WebException^ e ) 
{
   Console::WriteLine( "\nWebException is thrown. \nMessage is : {0}", e->Message );
   if ( e->Status == WebExceptionStatus::ProtocolError )
   {
      Console::WriteLine( "Status Code : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusCode );
      Console::WriteLine( "Status Description : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusDescription );
      Console::WriteLine( "Server : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->Server );
   }
}
catch ( Exception^ e ) 
{
   Console::WriteLine( "Exception is thrown. Message is : {0}", e->Message );
}
try {
    //Create a web request for "www.msn.com".
    HttpWebRequest myHttpWebRequest = (HttpWebRequest) WebRequest.Create("http://www.msn.com");

    //Get the headers associated with the request.
    WebHeaderCollection myWebHeaderCollection = myHttpWebRequest.Headers;

    Console.WriteLine("Configuring Webrequest to accept Danish and English language using 'Add' method");

    //Add the Accept-Language header (for Danish) in the request.
    myWebHeaderCollection.Add("Accept-Language:da");

    //Include English in the Accept-Langauge header. 
    myWebHeaderCollection.Add("Accept-Language","en;q=0.8");

    //Get the associated response for the above request.
    HttpWebResponse myHttpWebResponse = (HttpWebResponse) myHttpWebRequest.GetResponse();

    //Print the headers for the request.
    printHeaders(myWebHeaderCollection);
    myHttpWebResponse.Close();
}
//Catch exception if trying to add a restricted header.
catch(ArgumentException e) {
    Console.WriteLine(e.Message);
}
catch(WebException e) {
    Console.WriteLine("\nWebException is thrown. \nMessage is :" + e.Message);
    if(e.Status == WebExceptionStatus.ProtocolError) {
        Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
        Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
        Console.WriteLine("Server : {0}", ((HttpWebResponse)e.Response).Server);
    }
}
catch(Exception e) {
    Console.WriteLine("Exception is thrown. Message is :" + e.Message);
}
Public Shared Sub Main()

 Try
        'Create a web request for "www.msn.com".
        Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.msn.com"), HttpWebRequest)
        
        'Get the headers associated with the request.
        Dim myWebHeaderCollection As WebHeaderCollection = myHttpWebRequest.Headers
        
    Console.WriteLine("Configuring Webrequest to accept Danish and English language using 'Add' method")
        
    'Add the Accept-Language header (for Danish) in the request.
        myWebHeaderCollection.Add("Accept-Language:da")
        
        'Include English in the Accept-Langauge header. 
        myWebHeaderCollection.Add("Accept-Language","en;q" + ChrW(61) + "0.8")
        
        'Get the associated response for the above request.
        Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
        
        'Print the headers for the request.
        printHeaders(myWebHeaderCollection)
        myHttpWebResponse.Close()
    'Catch exception if trying to add a restricted header.
    Catch e As ArgumentException
        Console.WriteLine(e.Message)
    Catch e As WebException
        Console.WriteLine(e.Message)
        If e.Status = WebExceptionStatus.ProtocolError Then
            Console.WriteLine("Status Code : {0}", CType(e.Response, HttpWebResponse).StatusCode)
            Console.WriteLine("Status Description : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
            Console.WriteLine("Server : {0}", CType(e.Response, HttpWebResponse).Server)
        End If
    Catch e As Exception
        Console.WriteLine(e.Message)
    End Try
End Sub

Примечание

Длина проверяется только в .NET Framework и .NET Core версий value 2.0–3.1.

  • Во всех применимых версиях .NET Framework: WebHeaderCollection экземпляр, возвращаемый свойством Headers , вызовет исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В версиях .NET Core до 3.1: экземпляр, используемый WebHeaderCollection с любым заголовком типа HttpResponseHeader , вызывает исключение , ArgumentOutOfRangeException если длина value больше 65535. Все остальные WebHeaderCollection экземпляры принимают объект любой value длины.
  • В .NET 5 и более поздних версиях: WebHeaderCollection принимает объект любой value длины.

Комментарии

Если заголовок, указанный в , name не существует, Add метод вставляет новый заголовок в список пар имя-значение заголовка.

Если заголовок, указанный в name , уже присутствует, добавляется в существующий разделенный запятыми список значений, value связанных с name.

Применяется к