0

リダイレクトに従うクライアントは、次のように作成できます。

WebClient.builder()
                .clientConnector(new ReactorClientHttpConnector(
                        HttpClient.create().followRedirect(true)
                ))

URL でリクエストを呼び出した後HEAD、最終的なLocationヘッダーを取得するにはどうすればよいですか? つまり、最終的な URL をリダイレクトするにはどうすればよいでしょうか?

4

1 に答える 1

2

HttpClient#followRedirect(true)リダイレクトを有効にするのは本当です。ただしHttpClient#followRedirect(BiPredicate<HttpClientRequest,HttpClientResponse>)、ここでは、リダイレクトするタイミングをより正確に制御できます。これに加えて、常に応答とLocationヘッダーにアクセスできるため、リダイレクトが行われる場所をいつでも知ることができます。詳細はこちらこちら

例えば

        WebClient.builder()
                .clientConnector(new ReactorClientHttpConnector(
                        HttpClient.create().followRedirect((req, res) -> {
                            System.out.println(res.responseHeaders().get("Location"));
                            return HttpResponseStatus.FOUND.equals(res.status());
                        })
                ))
于 2019-08-14T18:42:42.617 に答える