通过


HttpHeaders.TryAddWithoutValidation 方法

定义

返回一个值,该值指示新标头及其值是否已添加到集合中 HttpHeaders ,而无需验证标头值。

重载

名称 说明
TryAddWithoutValidation(String, IEnumerable<String>)

返回一个值,该值指示指定的标头及其值是否已添加到集合中 HttpHeaders ,而无需验证提供的信息。

TryAddWithoutValidation(String, String)

返回一个值,该值指示指定的标头及其值是否已添加到集合中 HttpHeaders ,而无需验证提供的信息。

TryAddWithoutValidation(String, IEnumerable<String>)

Source:
HttpHeaders.cs
Source:
HttpHeaders.cs
Source:
HttpHeaders.cs
Source:
HttpHeaders.cs

返回一个值,该值指示指定的标头及其值是否已添加到集合中 HttpHeaders ,而无需验证提供的信息。

public:
 bool TryAddWithoutValidation(System::String ^ name, System::Collections::Generic::IEnumerable<System::String ^> ^ values);
public bool TryAddWithoutValidation(string name, System.Collections.Generic.IEnumerable<string> values);
public bool TryAddWithoutValidation(string name, System.Collections.Generic.IEnumerable<string?> values);
member this.TryAddWithoutValidation : string * seq<string> -> bool
Public Function TryAddWithoutValidation (name As String, values As IEnumerable(Of String)) As Boolean

参数

name
String

要添加到集合中的标头。

values
IEnumerable<String>

标头的值。

返回

true 如果指定的标头 name 可以 values 添加到集合中,则为 ;否则为 false

注解

此方法执行标头名称验证,返回 false 无效名称。 标头名称强制为有效的 HTTP 令牌,其中令牌定义为集中的任何 ASCII 字母、数字或符号 "!#$%&'*+-.^_`|~" 集, 匹配RFC9110的定义。 标头名称中不允许使用非 ASCII 字符。

此方法不执行任何标头值验证。 如果值格式不正确,则假定通过此方法添加的值是受信任的,而其他应用程序逻辑(例如 HttpClient)可能不正常。

枚举集合或查询特定标头名称时,即使调用方未使用 NonValidated 集合视图,也可能会观察到没有验证的值。

注意

此方法绝不能与不受信任的值一起使用,除非这些值经过其他充分验证。

构成“足够”验证的内容可能因用例而异。 至少禁止换行符进行协议正确性,例如 if (value.ContainsAny('\r', '\n', '\0')) throw ...。 此验证应确保服务器应用程序以与客户端应用程序相同的方式查看值,服务器现在负责正确清理其自己的输入。

为了防范诸如请求走私等攻击,强烈建议呼叫者验证这些值是否不包含换行符。

适用于

TryAddWithoutValidation(String, String)

Source:
HttpHeaders.cs
Source:
HttpHeaders.cs
Source:
HttpHeaders.cs
Source:
HttpHeaders.cs

返回一个值,该值指示指定的标头及其值是否已添加到集合中 HttpHeaders ,而无需验证提供的信息。

public:
 bool TryAddWithoutValidation(System::String ^ name, System::String ^ value);
public bool TryAddWithoutValidation(string name, string value);
public bool TryAddWithoutValidation(string name, string? value);
member this.TryAddWithoutValidation : string * string -> bool
Public Function TryAddWithoutValidation (name As String, value As String) As Boolean

参数

name
String

要添加到集合中的标头。

value
String

标头的内容。

返回

true 如果指定的标头 name 可以 value 添加到集合中,则为 ;否则为 false

注解

此方法执行标头名称验证,返回 false 无效名称。 标头名称强制为有效的 HTTP 令牌,其中令牌定义为集中的任何 ASCII 字母、数字或符号 "!#$%&'*+-.^_`|~" 集, 匹配RFC9110的定义。 标头名称中不允许使用非 ASCII 字符。

此方法不执行任何标头值验证。 如果值格式不正确,则假定通过此方法添加的值是受信任的,而其他应用程序逻辑(例如 HttpClient)可能不正常。

枚举集合或查询特定标头名称时,即使调用方未使用 NonValidated 集合视图,也可能会观察到没有验证的值。

注意

此方法绝不能与不受信任的值一起使用,除非这些值经过其他充分验证。

构成“足够”验证的内容可能因用例而异。 至少禁止换行符进行协议正确性,例如 if (value.ContainsAny('\r', '\n', '\0')) throw ...。 此验证应确保服务器应用程序以与客户端应用程序相同的方式查看值,服务器现在负责正确清理其自己的输入。

为了防范诸如请求走私等攻击,强烈建议呼叫者验证这些值是否不包含换行符。

适用于