HttpClient4.x —— Cookie 版本

本文介绍了如何使用HttpClient处理不同版本的Cookie,包括网景公司草案标准的版本0 Cookie、标准Cookie及Set-Cookie2兼容Cookie的创建方式。对于每种类型的Cookie,文章详细说明了其属性设置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         Cookie兼容网景公司的草案标准,但是版本0被认为是不符合官方规范的。符合标准的cookie的期望版本是1。HttpClient可以处理基于不同版本的cookie。

 

这里有一个重新创建网景公司草案cookie示例:

BasicClientCookie netscapeCookie = new BasicClientCookie("name", "value");  
  
netscapeCookie.setVersion(0);  
  
netscapeCookie.setDomain(".mycompany.com");  
  
netscapeCookie.setPath("/");  
 


这是一个重新创建标准cookie的示例。要注意符合标准的cookie必须保留由源服务器发送的所有属性:

BasicClientCookie stdCookie = new BasicClientCookie("name", "value");  
  
stdCookie.setVersion(1);  
  
stdCookie.setDomain(".mycompany.com");  
  
stdCookie.setPath("/");  
  
stdCookie.setSecure(true);  
  
// 精确设置由服务器发送的属性  
  
stdCookie.setAttribute(ClientCookie.VERSION_ATTR, "1");  
  
stdCookie.setAttribute(ClientCookie.DOMAIN_ATTR, ".mycompany.com");  
 

 

这是一个重新创建Set-Cookie2兼容cookie的实例。要注意符合标准的cookie必须保留由源服务器发送的所有属性:

BasicClientCookie2 stdCookie = new BasicClientCookie2("name", "value");  
  
stdCookie.setVersion(1);  
  
stdCookie.setDomain(".mycompany.com");  
  
stdCookie.setPorts(newint[] { 80, 8080 });  
  
stdCookie.setPath("/");  
  
stdCookie.setSecure(true);  
  
// 精确设置由服务器发送的属性  
  
stdCookie.setAttribute(ClientCookie.VERSION_ATTR, "1");  
  
stdCookie.setAttribute(ClientCookie.DOMAIN_ATTR, ".mycompany.com");  
  
stdCookie.setAttribute(ClientCookie.PORT_ATTR, "80,8080");  
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值