httpclient addcookie

本文探讨了在使用HttpClient时正确设置Cookie的方法。通过对比不同的实现方式,指出了常见错误及其修正方案,并提供了一种确保所有Cookie都能被正确设置的有效方法。

如果用

for(int i=0; i< num ; i++)

{

cookie.setName(namei);

cookie.setName(valuei);

}

只能保留最后一对名字和值

 

 

用下面的方法也是一样的效果

 

 

 

-----------------------------------------------------------------------------------

 


我有一个 Cookie数组cookie[],一般来说设置cookie应该是:

java 代码
HttpState initialState = new HttpState();     

for(int i=0; i < cookie.length; i++){  

      initialState.addCookie(cookie[i]);     

}   
 
----------------------------------------------------------------------------------------------


调试了一个晚上,尽然是这种原因,真是很搞笑。-

但是httpClient必须这样设置:而里面的myName=debugcn完全是多余的,我只是为了方便,反正多加一个cookie过去也不会有什么影响。。。

java 代码
HttpState initialState = new HttpState();    

 String cookieString = "debugcn";    

 for (int i = 0; i < cookie.length; i++) {    

     cookieString += ";" + cookie[i];    

 }    

 initialState.addCookie(new Cookie(www.debug.cn, "myName", cookieString, "/", null, false));    



本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/javaokay/archive/2008/01/13/2041935.aspx

### 如何使用 HttpClient 设置 Cookie 为了通过 `HttpClient` 设置并管理 Cookies,在构建 `HttpClient` 的实例时可以配置默认的 `CookieStore`。这使得每次发送 HTTP 请求时能够自动携带相应的 cookies。 ```java import org.apache.http.impl.client.BasicCookieStore; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; BasicCookieStore cookieStore = new BasicCookieStore(); CloseableHttpClient httpClient = HttpClients.custom() .setDefaultCookieStore(cookieStore) .build(); ``` 上述代码展示了创建带有自定义 `CookieStore` 的 `HttpClient` 实例的方式[^1]。这意味着当执行任何基于此客户端对象发起的请求时,都会关联到这个特定的 `cookieStore` 来存储和读取 cookies。 对于手动向 `CookieStore` 添加具体 cookie,则可以通过如下方法实现: ```java import org.apache.http.cookie.Cookie; import org.apache.http.impl.client.BasicClientCookie; // 创建一个新的 cookie 并指定其名称、值以及路径等属性 BasicClientCookie cookie = new BasicClientCookie("name", "value"); cookie.setDomain(".example.com"); // 设定域名 cookie.setPath("/path"); // 将新创建好的 cookie 加入到 store 中 cookieStore.addCookie(cookie); ``` 这段代码片段说明了怎样构造一个具体的 cookie 对象,并将其加入之前提到过的 `cookieStore` 里去。这样做的好处是在后续发出的所有请求中都可以包含这些预先设定好的 cookies 数据。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值