Вы можете реализовать свой собственный RedirectStrategy
для обработки перенаправления по своему усмотрению и использовать setRedirectStrategy
из HttpClientBuilder
, чтобы позволить клиенту http использовать вашу стратегию перенаправления.
Вы можете проверить DefaultRedirectStrategy и LaxRedirectStrategy реализации для справки.
Важной частью является isRedirected
метод RedirectStrategy
. Вам необходимо вернуть true
или false
в зависимости от того, хотите ли вы перенаправить конкретный запрос или нет. Исполнитель Http-запроса будет вызывать этот метод перед выполнением фактического перенаправления.
Например, вы можете расширить DefaultRedirectStrategy
и переопределить isRedirected
метод
...
public class MyRedirectStrategy extends DefaultRedirectStrategy {
...
@Override
public boolean isRedirected(
final HttpRequest request,
final HttpResponse response,
final HttpContext context) throws ProtocolException {
// check request and return true or false to redirect or not
...
}
}