java sessionid放入cookie_java - Apache HttpClient 4.0.3 - 如何为POST请求设置带sessionID的cookie?...

您能告诉我如何将JSessionID存储在cookie中,以便通过post请求将其传递给servlet吗?我使用的是ApacheHTTPClient4.0.3版。

我找到的所有解决方案都解释了如何使用httpclient 3.1实现这一点。

我已经阅读了教程并尝试过了,但它不起作用。HttpPost httppost = new HttpPost(postData);

CookieStore cookieStore = new BasicCookieStore();

BasicClientCookie cookie = new BasicClientCookie("JSESSIONID", getSessionId());

cookieStore.addCookie(cookie);

client.setCookieStore(cookieStore);

response = client.execute(httppost);

编辑-进一步解释

我正在连接朋友写的servlet。我已经登录并获得了jsessionid。现在,我想发送另一个请求,需要通过JSessionID进行授权。

Servlet很好用,因为我使用了JavaHTTPuxLink,设置了Cookie,通过了它,它工作了。现在,对于httpclient,我没有得到任何异常,但是friend的servlet返回的代码表明请求中没有sessionid。

另一个编辑-我有一个解决方案

我设置了请求头的参数,它工作了。servlet识别出sessionid。

httppost.setHeader("Cookie", "JSESSIONID="+ getSessionId());

现在我的问题是:这个方法正确吗?

最佳答案:

我很高兴能解决这个问题:HttpPost httppost = new HttpPost(postData);

CookieStore cookieStore = new BasicCookieStore();

BasicClientCookie cookie = new BasicClientCookie("JSESSIONID", getSessionId());

//cookie.setDomain("your domain");

cookie.setPath("/");

cookieStore.addCookie(cookie);

client.setCookieStore(cookieStore);

response = client.execute(httppost);

很容易!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值