Client Plugin
BOMリムーバー
必須の依存関係: io.ktor:ktor-client-bom-remover
コード例: client-bom-remover
バイトオーダーマーク (BOM) は、Unicode ファイルまたはストリームでエンコードされた文字です。BOM の主な目的は、テキストのストリームエンコーディングと、16ビットおよび32ビットエンコーディングのバイトオーダーを示すことです。
場合によっては、レスポンスボディから BOM を削除する必要があります。たとえば、UTF-8 エンコーディングでは、BOM の存在は任意であり、BOM の処理方法を知らないソフトウェアで読み取られると問題を引き起こす可能性があります。
Ktor クライアントは、UTF-8、UTF-16 (BE)、UTF-16 (LE)、UTF-32 (BE)、および UTF-32 (LE) エンコーディングのレスポンスボディから BOM を削除する BOMRemover プラグインを提供します。
BOMを削除しても、Ktorは
Content-Length
ヘッダーを変更せず、初期レスポンスの長さを保持することに注意してください。
依存関係を追加する
BOMRemover
を使用するには、ビルドスクリプトに ktor-client-bom-remover
アーティファクトを含める必要があります。
Kotlin
Groovy
XML
Ktor クライアントに必要なアーティファクトについては、
クライアントの依存関係の追加
で詳しく学ぶことができます。 既存のプロジェクトにクライアントの依存関係を追加する方法を学ぶ。
BOMRemover をインストールする
BOMRemover
をインストールするには、クライアント設定ブロック 内の install
関数に渡します。
kotlin
import io.ktor.client.*
import io.ktor.client.engine.cio.*
import io.ktor.client.plugins.compression.*
//...
val client = HttpClient(CIO) {
install(BOMRemover)
}