- - PR -
HttpClientを利用した別サーバへのリクエスト処理時の画像処理について
1|2|3
次のページへ»
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-07-20 09:33
Jakarta-commonsのHttpClientを利用して別サーバのhtml、jspなどを表示する
プログラムを作成しているのですが、画像が含まれている場合に、 画像を正しく表示することができません。 恐らくgetResponseBodyAsStreamを使用してデータを取得すれば 可能だと思うのですが、どなたか方法をご存知ではないでしょうか? | ||||
|
投稿日時: 2004-07-20 15:03
状況がわかりにくいんですが、Webアプリケーション内でリクエストを他のWebアプリケーションに
中継して実行している、ということでしょうか。であれば、
その通りです。方法というか、getResponseBodyAsStreamから読み込んだデータをレスポンスの 出力ストリームに書き込むだけですが… | ||||
|
投稿日時: 2004-07-20 15:30
返信ありがとうございます。
説明不足でした。処理的にはServlet内で別なサーバ上のWebアプリケーションの 実行結果を取得し、Servletの処理結果として返すという処理を作成しています。 ukさんが書かれている通りgetResponseBodyAsStreamで取得した内容を 出力ストリーム(ServletOutputStream)に書き込んでも正しく表示されませんでした。 Servletから出力している内容をパケットキャプチャしてみたのですが、 実際に出力すべき内容と違っていました。chunkでエンコードされているようなのですが、デコードしてみても所々違う部分があります。 どうすれば・・・ | ||||
|
投稿日時: 2004-07-20 15:52
もし問題がなければ、HTTP1.0で要求を出してみたらどうでしょうか。そうすれば、チャンク
形式では送ってこないのでは? | ||||
|
投稿日時: 2004-07-20 15:58
返信ありがとうございます。
HTTP1.0で要求を出してみます。 | ||||
|
投稿日時: 2004-07-20 16:13
ヘッダはどのようにしているのでしょうか? 画像の形式をクライアントに
伝える必要があるので、おそらく受け取った Content-Type ヘッダを そのままクライアントへ返しているはずですよね? 同様に、Transfer-Encoding ヘッダも受け取った通りにクライアントへ 横流ししてあげれば、チャック化されていたとしても問題ないと思います。 (クライアントがHTTP/1.1に対応しているという前提ですが…) | ||||
|
投稿日時: 2004-07-20 16:44
返信ありがとうございます。
ヘッダの事をすっかり忘れていました(;´Д`) そうですよね。受け取ったヘッダも投げないとだめですよね(;´Д`) | ||||
|
投稿日時: 2004-07-20 17:05
Transfer-Encodingのほかには、Content-Typeも大事ですしContent-Lengthも要りますね。 これくらい入れておけば、とりあえずは大丈夫かな? [ メッセージ編集済み 編集者: おばけ 編集日時 2004-07-20 17:06 ] | ||||
1|2|3
次のページへ»
