WebHeaderCollection.Add 方法

定義

將新標頭插入至集合。

多載

Add(String)

將指定標頭插入至集合。

Add(HttpRequestHeader, String)

將具有指定值的指定標頭插入至集合。

Add(HttpResponseHeader, String)

將具有指定值的指定標頭插入至集合。

Add(String, String)

將具有指定名稱和值的標頭插入至集合。

Add(String)

來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs

將指定標頭插入至集合。

public void Add (string header);

參數

header
String

要加入的標頭,具有以冒號分隔的名稱和值。

例外狀況

headernullEmpty

header 不包含冒號 (:) 字元。

value 的長度大於 65535。

-或-

header 的名稱部分是 Empty 或含有無效字元。

-或-

header 是應該使用屬性設定之受限制的標頭。

-或-

header 的值部分包含無效字元。

僅限 .NET Framework 與 .NET Core 2.0 - 3.1 版:冒號 (:) 後面字串的長度大於 65535。

範例

下列範例會使用 Add 方法,將名稱/值組新增至 WebHeaderCollection

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

注意

的值部分header長度,也就是冒號之後的字串 (:) ,只會在 .NET Framework 和 .NET Core 2.0 - 3.1 版中驗證。

備註

參數 header 必須以 「name:value」 格式指定。 如果集合中沒有指定的標頭,則會將新的標頭新增至集合。

如果 中指定的 header 標頭已經存在於集合中,則 header 的值部分會與現有的值串連。

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Add(HttpRequestHeader, String)

來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs

將具有指定值的指定標頭插入至集合。

public void Add (System.Net.HttpRequestHeader header, string? value);
public void Add (System.Net.HttpRequestHeader header, string value);

參數

header
HttpRequestHeader

要加入至集合的標頭。

value
String

標頭的內容。

例外狀況

僅限 .NET Framework 與 .NET Core 2.0 - 3.1 版:value 的長度大於 65535。

這個 WebHeaderCollection 執行個體不允許 HttpRequestHeader 的執行個體。

備註

如果指定的標頭不存在,方法會將 Add 新的標頭插入標頭名稱/值組清單中。

如果指定的標頭已經存在, value 則會新增至與標頭相關聯的值逗號分隔清單。

注意

value 長度只會在 .NET Framework 和 .NET Core 2.0 - 3.1 版中驗證。

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Add(HttpResponseHeader, String)

來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs

將具有指定值的指定標頭插入至集合。

public void Add (System.Net.HttpResponseHeader header, string? value);
public void Add (System.Net.HttpResponseHeader header, string value);

參數

header
HttpResponseHeader

要加入至集合的標頭。

value
String

標頭的內容。

例外狀況

僅限 .NET Framework 與 .NET Core 2.0 - 3.1 版:value 的長度大於 65535。

這個 WebHeaderCollection 執行個體不允許 HttpResponseHeader 的執行個體。

備註

如果指定的標頭不存在,方法會將 Add 新的標頭插入標頭名稱/值組清單中。

如果指定的標頭已經存在, value 則會新增至與標頭相關聯的值逗號分隔清單。

注意

value 長度只會在 .NET Framework 和 .NET Core 2.0 - 3.1 版中驗證。

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Add(String, String)

來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs
來源:
WebHeaderCollection.cs

將具有指定名稱和值的標頭插入至集合。

public override void Add (string name, string? value);
public override void Add (string name, string value);

參數

name
String

要加入至集合的標頭。

value
String

標頭的內容。

例外狀況

namenullEmpty 或含有無效字元。

-或-

name 是必須使用屬性設定值加以設定之受限制的標頭。

-或-

value 包含無效的字元。

僅限 .NET Framework 與 .NET Core 2.0 - 3.1 版:value 的長度大於 65535。

範例

下列範例會使用 Add 方法,將名稱/值組新增至 WebHeaderCollection

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

注意

value 長度只會在 .NET Framework 和 .NET Core 2.0 - 3.1 版中驗證。

備註

如果 中指定的 name 標頭不存在,方法會將 Add 新的標頭插入標頭名稱/值組清單中。

如果 中指定的 name 標頭已經存在, value 則會新增至與 相關聯的 name現有逗號分隔值清單。

適用於

.NET 9 及其他版本
產品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1