接受httpclient4中的任何cookie

时间:2011-04-07 05:28:45

标签: apache cookies httpclient

我尝试将Java客户端开发到我的网站,但无法在httpclient4中存储cookie,服务器在get请求中发送头文件:

Set-Cookie: PHPSESSID=ea384f86b9b89a749f1684d9d3980820; path=/

但是在我提出请求后的代码中:

CookieManager m = (CookieManager) CookieHandler.getDefault();
System.out.println("Count : " + m.getCookieStore().getCookies().size());

我总是获得Count:0

Httpclient创建:

CookieManager cookiem = new CookieManager();
cookiem.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cookiem);
...
httpClient = new DefaultHttpClient(params);
        httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, org.apache.http.client.params.CookiePolicy.BEST_MATCH);

但是我得到了同样的结果,出了什么问题?

1 个答案:

答案 0 :(得分:0)

CookieManager是JRE内部HTTP客户端使用的Java 6特定类。

Apache HttpClient以不同方式管理HTTP状态,不能(也可能不应该)使用Java 6特定类。

有关使用Apache HttpClient进行HTTP状态管理的详细信息,请参阅:

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/statemgmt.html