Multipart HTTP PUT リクエストを送信するために apache httpclient 4.2 を使用しています。クライアントは、500 MB オーダーの大きなサイズのバイナリ データをアップロードする必要があります。したがって、圧縮が必要です。マルチパート HTTP リクエスト全体を圧縮し、ヘッダー Content-Encoding: gzip を通じてサーバーに通知したいと考えています。サーバーとクライアント コードを制御します。
注:リクエスト全体ではなく、大きなサイズのバイナリデータを選択的に圧縮できるアプローチを認識していますが、今のところそのアプローチを除外しています。
httpclient の HttpRequestInterceptor クラスは、要求入力ストリームまたは要求を圧縮するためのエンティティへのハンドルを提供しません。
Web で検索したところ、関連するリンク (以下) はほとんど見つかりませんでしたが、どれも機能しません1 。http://hc.apache.org/httpcomponents-client-ga/tutorial/html/fundamentals.html#protocol_interceptors - このリンクには、「プロトコル インターセプターは、メッセージで囲まれたコンテンツ エンティティを操作することもできます - 透過的なコンテンツの圧縮/解凍は優れた方法です。例。" しかし、目的の機能を取得する方法がわかりません。
可能であればサンプルコードを教えてください。