Skip to content
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.bomremover.*
//...
val client = HttpClient(CIO) {
    install(BOMRemover)
}