Jdk11 HttpClient 关于会话维持Cookie

Jdk 中的HttpClient比较好用,默认情况下,是不会为我们维持Cookie,我们需要通过下面的方法实现
参考官方的文档说明。并参照如下代码
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/CookieHandler.html

 public static  HttpUtils INST=new HttpUtilsImpl();

    private HttpClient httpClient;

    private CookieManager cookieManager;
    private HttpUtilsImpl(){
    	//使用默认的CookieManager,并且接受所有第三方Cookie
        cookieManager = new CookieManager();
        cookieManager.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
        httpClient = HttpClient.newBuilder()
                .connectTimeout(Duration.ofMillis(5000))
                .cookieHandler(cookieManager)//注意在此步骤送送入
                .followRedirects(HttpClient.Redirect.NORMAL)
                .build();
    }

通过以上代构建的HttpClient 拥有Cookie自动维持的功能。
代码参见代码链接

发布了73 篇原创文章 · 获赞 55 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/blueboz/article/details/85957286