如何用HttpClient来操作Cookie

sotier 2008-07-21 02:24:15
如何用HttpClient来操作Cookie

我的代码是这样写的:

public static void main(String[] args) throws IOException
{
HttpClient client = new HttpClient();
// Set Cookie
client.getParams().setCookiePolicy(CookiePolicy.RFC_2109);
HttpState initialState = new HttpState();
Cookie cookie = new Cookie();
cookie.setDomain("group.bj.chinamobile.com");
cookie.setPath("/");
cookie.setName("JSESSIONID");
cookie.setValue("0000_jiLQsJSN3bm1gh50AUoZgY:11e205r4h");
initialState.addCookie(cookie);
client.setState(initialState);
// End
client.getHostConfiguration().setHost("group.bj.chinamobile.com", 80,
"http");
HttpMethod method = getPostMethod(); // 使用 POST 方式提交数据
client.executeMethod(method); // 打印服务器返回的状态
System.out.println(method.getStatusLine()); // 打印结果页面
String response = new String(method.getResponseBodyAsString().getBytes(
"8859_1"));
// 打印返回的信息
System.out.println(response);
method.releaseConnection();
}

private static HttpMethod getPostMethod()
{
PostMethod post = new PostMethod("/edsmp/LinkmanSave.do");
NameValuePair name = new NameValuePair("name", "Sotier_Yan");
NameValuePair mphone = new NameValuePair("mphone", "13566667777");
NameValuePair agroupid = new NameValuePair("agroupid", "22508551");
post.setRequestBody(new NameValuePair[]
{ name, mphone, agroupid });
return post;
}


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

这样写有一个问题,当我在浏览器退出以后,操作就不能成功了,也就是说 JSESSIONID 失效以后 就不行了
请问该如何解决?
用户名、密码 什么的怎么设置到cookie里?
...全文
7923 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kangojian 2008-07-23
  • 打赏
  • 举报
回复
不能!!!必须识别验证码(也许在cookies或session中能找到一些)放心吧!像识别验证码识别的高级程序是没有人愿意告诉你的 自学吧
sotier 2008-07-21
  • 打赏
  • 举报
回复
HttpClient 如何打开那个页? 如果要用HttpClient登陆的话,是要用验证码的。
我是要用 登录后的cookie 来解决登陆的问题,请问程序该如何写啊?
sotier 2008-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kangojian 的回复:]
用HttpClient打开那个页 然后得到连接cookies再
中这个cookies提交就可以了吗
[/Quote]


HttpClient 如何打开那个页? 如果要用HttpClient登陆的话,是要用验证码的。
我是要用 登录后的cookie 来解决登陆的问题,请问程序该如何写啊?

sotier 2008-07-21
  • 打赏
  • 举报
回复
登陆后的cookie是这样的 administrator@group.bj.chinamobile[1].txt

state
true
group.bj.chinamobile.com/edsmp/
1088
4128410368
30017992
2106649168
29944567
*


----------


kangojian 2008-07-21
  • 打赏
  • 举报
回复
用HttpClient打开那个页 然后得到连接cookies再
中这个cookies提交就可以了吗
lovingprince 2008-07-21
  • 打赏
  • 举报
回复
你需要设置cookie的失效时间,没有设置的话,这个cookie是放在内存中的,你关闭浏览器就自动清除了。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧