当前位置:首页 > Java

java 如何发送cookie

2026-03-20 20:05:42Java

发送 Cookie 的方法

在 Java 中发送 Cookie 可以通过多种方式实现,具体取决于使用的技术栈(如原生 HttpURLConnection、Apache HttpClient、Spring 等)。以下是几种常见场景的实现方法:

使用 HttpURLConnection(原生 Java)

通过 HttpURLConnection 设置请求头的 Cookie 字段:

java 如何发送cookie

URL url = new URL("http://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("Cookie", "name=value; name2=value2");
connection.connect();

使用 Apache HttpClient

通过 HttpClientHttpContext 或直接设置请求头:

java 如何发送cookie

CloseableHttpClient client = HttpClients.createDefault();
HttpGet request = new HttpGet("http://example.com");

// 方法1:通过请求头设置
request.setHeader("Cookie", "name=value; name2=value2");

// 方法2:通过 CookieStore(推荐)
CookieStore cookieStore = new BasicCookieStore();
BasicClientCookie cookie = new BasicClientCookie("name", "value");
cookie.setDomain("example.com");
cookieStore.addCookie(cookie);

HttpContext context = HttpClientContext.create();
context.setCookieStore(cookieStore);

CloseableHttpResponse response = client.execute(request, context);

使用 Spring RestTemplate

通过 RestTemplateClientHttpRequestInterceptor 发送 Cookie:

RestTemplate restTemplate = new RestTemplate();
restTemplate.getInterceptors().add((request, body, execution) -> {
    request.getHeaders().add("Cookie", "name=value");
    return execution.execute(request, body);
});

String response = restTemplate.getForObject("http://example.com", String.class);

使用 Servlet(服务端设置 Cookie)

在 Servlet 中通过 HttpServletResponse 添加 Cookie:

Cookie cookie = new Cookie("name", "value");
cookie.setMaxAge(3600); // 过期时间(秒)
cookie.setPath("/");    // 生效路径
response.addCookie(cookie);

注意事项

  • 作用域:确保 Cookie 的 DomainPath 与目标 URL 匹配。
  • 安全性:敏感 Cookie 建议设置 SecureHttpOnly 属性。
  • 多值 Cookie:多个 Cookie 需用分号分隔(如 name1=value1; name2=value2)。

根据具体需求选择合适的方法,推荐使用 CookieStore(Apache HttpClient)或拦截器(Spring)管理 Cookie 生命周期。

标签: javacookie
分享给朋友:

相关文章

java如何下载

java如何下载

下载Java的步骤 访问Oracle官方网站或OpenJDK项目页面下载Java开发工具包(JDK)。Oracle JDK适用于商业用途,OpenJDK为开源版本。 打开浏览器,进入Oracle J…

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

如何编写java

如何编写java

编写Java程序的基本步骤 安装Java开发工具包(JDK),确保系统环境变量配置正确。可以从Oracle官网下载最新版本的JDK并进行安装。 选择一个合适的集成开发环境(IDE),如Eclipse…

如何搭建java开发环境

如何搭建java开发环境

下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK版本。运行安装程序并按照提示完成安装,建议选择默认路径以减少配置复杂度。 配置环境变量 在系统环境变量中添加JAVA_HO…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…