Language

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 。

例外

現在のインスタンスで操作が既に開始されています。

現在のインスタンスが破棄されました。

注釈

エンコードを指定する場合、一般に、 ASCII、 Latin1、または UTF8のいずれかのエンコード スキームを使用することが期待されます。 その他のエンコード スキームは、密輸攻撃を要求する可能性があります。

Caution

特に、固定マルチバイト エンコード スキーム ( Unicode や UTF32など) は使用しないでください。バイナリ表現が誤って解釈され、プロトコルが中断される可能性が高くなります。 たとえば、 ✊ の一部は、ヘッダー値を終了する新しい行 (\n) として解釈される場合があります。

エンコードを指定する場合は、エンコードを介して値が表現可能であり、サーバーが使用されるエンコードに同意していることを確認する必要があります。 それ以外の場合、値は破損します。 たとえば、バイトのセットは有効な Latin1 シーケンスと見なされるため、UTF-8 でエンコードされたヘッダー値で応答するサーバーでは、応答が自動的に破損している可能性があります。

適用対象