This commit is contained in:
Looly 2022-10-22 22:50:31 +08:00
parent ab35ba10a2
commit 64e983db0f
2 changed files with 29 additions and 8 deletions

View File

@ -15,7 +15,7 @@ import java.util.Map;
/** /**
* 全局Cookie管理器只针对Hutool请求有效 * 全局Cookie管理器只针对Hutool请求有效
* *
* @author Looly * @author Looly
* @since 4.5.15 * @since 4.5.15
*/ */
@ -26,19 +26,19 @@ public class GlobalCookieManager {
static { static {
cookieManager = new CookieManager(new ThreadLocalCookieStore(), CookiePolicy.ACCEPT_ALL); cookieManager = new CookieManager(new ThreadLocalCookieStore(), CookiePolicy.ACCEPT_ALL);
} }
/** /**
* 自定义{@link CookieManager} * 自定义{@link CookieManager}
* *
* @param customCookieManager 自定义的{@link CookieManager} * @param customCookieManager 自定义的{@link CookieManager}
*/ */
public static void setCookieManager(CookieManager customCookieManager) { public static void setCookieManager(CookieManager customCookieManager) {
cookieManager = customCookieManager; cookieManager = customCookieManager;
} }
/** /**
* 获取全局{@link CookieManager} * 获取全局{@link CookieManager}
* *
* @return {@link CookieManager} * @return {@link CookieManager}
*/ */
public static CookieManager getCookieManager() { public static CookieManager getCookieManager() {
@ -58,7 +58,7 @@ public class GlobalCookieManager {
/** /**
* 将本地存储的Cookie信息附带到Http请求中不覆盖用户定义好的Cookie * 将本地存储的Cookie信息附带到Http请求中不覆盖用户定义好的Cookie
* *
* @param conn {@link HttpConnection} * @param conn {@link HttpConnection}
*/ */
public static void add(HttpConnection conn) { public static void add(HttpConnection conn) {
@ -74,14 +74,13 @@ public class GlobalCookieManager {
throw new IORuntimeException(e); throw new IORuntimeException(e);
} }
// 不覆盖模式回填Cookie头这样用户定义的Cookie将优先 // 不覆盖模式回填Cookie头这样用户定义的Cookie将优先
conn.header(cookieHeader, false); conn.header(cookieHeader, false);
} }
/** /**
* 存储响应的Cookie信息到本地 * 存储响应的Cookie信息到本地
* *
* @param conn {@link HttpConnection} * @param conn {@link HttpConnection}
*/ */
public static void store(HttpConnection conn) { public static void store(HttpConnection conn) {

View File

@ -0,0 +1,22 @@
package cn.hutool.http;
import cn.hutool.core.lang.Console;
import cn.hutool.http.cookie.GlobalCookieManager;
import org.junit.Ignore;
import org.junit.Test;
import java.net.HttpCookie;
import java.util.List;
public class Issue2658Test {
@SuppressWarnings("resource")
@Test
@Ignore
public void getWithCookieTest(){
HttpRequest.get("https://www.baidu.com/").execute();
final List<HttpCookie> cookies = GlobalCookieManager.getCookieManager().getCookieStore().getCookies();
Console.log("###" + cookies);
HttpRequest.get("https://www.baidu.com/").execute();
}
}