java 如何添加cooke
添加 Cookie 的方法
在 Java 中,可以通过 HttpURLConnection 或第三方库(如 Apache HttpClient 或 OkHttp)来添加 Cookie。以下是几种常见的方法:

使用 HttpURLConnection
通过 HttpURLConnection 设置 Cookie 需要在请求头中添加 Cookie 字段。

URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("Cookie", "name=value; name2=value2");
connection.connect();
使用 Apache HttpClient
Apache HttpClient 提供了更灵活的 Cookie 管理方式,可以通过 HttpClient 和 CookieStore 实现。
CloseableHttpClient httpClient = HttpClients.createDefault();
CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("name", "value");
cookie.setDomain("example.com");
cookie.setPath("/");
cookieStore.addCookie(cookie);
HttpClientContext context = HttpClientContext.create();
context.setCookieStore(cookieStore);
HttpGet httpGet = new HttpGet("http://example.com");
CloseableHttpResponse response = httpClient.execute(httpGet, context);
使用 OkHttp
OkHttp 是一个流行的 HTTP 客户端库,支持简单的 Cookie 添加方式。
OkHttpClient client = new OkHttpClient.Builder()
.cookieJar(new CookieJar() {
private final List<Cookie> cookies = new ArrayList<>();
@Override
public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
this.cookies.addAll(cookies);
}
@Override
public List<Cookie> loadForRequest(HttpUrl url) {
return cookies;
}
})
.build();
Request request = new Request.Builder()
.url("http://example.com")
.build();
Response response = client.newCall(request).execute();
注意事项
- Cookie 的格式为
name=value,多个 Cookie 用分号分隔。 - 确保 Cookie 的
domain和path属性与目标 URL 匹配。 - 使用第三方库时,注意添加依赖(如 Maven 或 Gradle 配置)。






