gpt4 book ai didi

java - 如何使用 Spring WebClient 禁用 cookie

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:06:21 27 4
gpt4 key购买 nike

有谁知道是否有办法使用 Reactor Netty HttpClient 在 Spring WebClient 中禁用 cookie 管理?

我注意到了 WebClient.BuilderHttpClient API 提供了一种将 cookie 添加到出站请求的方法,但我正在寻找一种方法来完全禁止它们(如果存在)。这类似于 Apache 的 HttpComponentClientBuilder 上的 disableCookieManagement .

最佳答案

看起来没有办法禁用 cookie 处理本身,但这似乎有效:创建您自己的 HttpClient,然后使用 HttpClient.doOnRequest 注册一个回调,以便在发送请求之前调用。在回调中,调用 HttpClientRequest.requestHeaders() 以检索请求 header ,然后删除 Cookie header 。

在发送请求之前删除 User-Agent header 的示例代码。

public class Main {
public static void main(String[] args) {
HttpClient httpClient = HttpClient.create().doOnRequest((request, connection) -> {
request.requestHeaders().remove("User-Agent");
});
WebClient client = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient))
.build();
Mono<String> r = client.get().uri("https://www.google.com").retrieve()
.bodyToMono(String.class);
System.out.println(r.block());
}
}

关于java - 如何使用 Spring WebClient 禁用 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54394813/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com