SocketsHttpHandler.RequestHeaderEncodingSelector 属性

定义

获取或设置一个回调,该回调选择要对请求标头值进行编码的 Encoding

public:
 property System::Net::Http::HeaderEncodingSelector<System::Net::Http::HttpRequestMessage ^> ^ RequestHeaderEncodingSelector { System::Net::Http::HeaderEncodingSelector<System::Net::Http::HttpRequestMessage ^> ^ get(); void set(System::Net::Http::HeaderEncodingSelector<System::Net::Http::HttpRequestMessage ^> ^ value); };
public System.Net.Http.HeaderEncodingSelector<System.Net.Http.HttpRequestMessage>? RequestHeaderEncodingSelector { get; set; }
member this.RequestHeaderEncodingSelector : System.Net.Http.HeaderEncodingSelector<System.Net.Http.HttpRequestMessage> with get, set
Public Property RequestHeaderEncodingSelector As HeaderEncodingSelector(Of HttpRequestMessage)

属性值

标头编码选择器回调,用于选择要 Encoding 对指定请求标头名称的值进行编码,或 null 指示默认行为。

例外

已在当前实例上启动操作。

已释放当前实例。

注解

指定编码时,通常应使用以下编码方案之一:ASCIILatin1UTF8。 其他编码方案可能容易受到请求走私攻击。

Caution

修复了特定(例如, UnicodeUTF32)的多字节编码方案永远不能使用,因为二进制表示形式可能被误解并破坏协议。 例如, 部分可能解释为终止标头值的新行(\n)。

指定编码时,负责确保这些值可通过编码表示,并且服务器同意所使用的编码。 否则,值将损坏。 例如,由于任何字节集都被视为有效的 Latin1 序列,因此使用 UTF-8 编码标头值进行答复的服务器可能会看到其响应无提示损坏。

适用于