閉じる

Apache HttpPost ByteArrayEntity

やりたいことは「単一もしくは整形済みのデータ*1 の Post」。

HttpPost.SetEntityを呼んでデータをセットするってのは直ぐにわかるのだけど、ネットを見回しても マルチパートの物ばかりで以前に難儀したのでメモを。

2794-0.java
final ByteArrayOutputStream os = new ByteArrayOutputStream()
/* osに対する出力 */
final HttpPost Request = new HttpPost("http://hogehoge.example.com/post.cgi");
final ByteArrayEntity paramEntity = new ByteArrayEntity(os.toByteArray());
paramEntity.setChunked(false);
paramEntity.setContentType("text/xml");
Request.setEntity(paramEntity);

ByteArrayEntityを探し出せるかがキーかね。
ByteArrayの作り方とか setContentTypeの設定は適当に。

あとは DefaultHttpClientなりなんなりで HttpGetを使う場合と同様の処理を。

2015/03/08追記

API22でこの辺りはまるっと Deprecated指定が入っているので不要なノウハウになってしまったな。


*1 今回は単一の XMLデータ

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)