ApacheのHttpClient 4でPOSTメソッドでも自動的にリダイレクトする方法メモ

HttpClient 4ってPOSTリクエストの時に相手のサーバが302を返してきても自動的にリダイレクトしてくれないんです。
自分でリダイレクトするしかないかなーって思ってたところにいい方法を見つけたのでメモします。

DefaultHttpClient client = new DefaultHttpClient();
client.setRedirectStrategy(new DefaultRedirectStrategy() {
    @Override
    public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) throws ProtocolException {
        boolean isRedirected = super.isRedirected(request, response, context);
        if (!isRedirected) {
            int statusCode = response.getStatusLine().getStatusCode();
            if (statusCode == 301 || statusCode == 302) {
                return true;
            }
        }
        return isRedirected;
    }
});

HttpClientのインスタンスにRedirectStrategyを追加するだけっていう簡単なお仕事です。