Apache HttpClient4

java での http 接続を行いました。やったことは画像のバイナリーデータを受け取って対象のサーバへ http で post します。

久々に触れたら3系は非推奨で3系と4系では結構インターフェースも変わっていました。検索しても以外と4系の情報って少ないんですね。実装は以下のように行いました。

String url = "http://~~"
byte[] byteData = IOUtils.toByteArray(request.getInputStream());
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost post = new HttpPost(url); ByteArrayEntity entity = new ByteArrayEntity(byteData, ContentType.create("image/jpeg")); post.setEntity(entity);
// http接続 HttpResponse response = httpClient.execute(post);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { String imageData = IOUtils.toString(response.getEntity().getContent()); }

処理は HttpPost 生成〜 Entity セット〜 http 通信するだけ。必要であれば response.getEntity().getContent() でレスポンスのデータを解析すればよいと思います。