天天看點

httpclient 自己管理cookie

一、使httpclient不管理cookie:

client.getParams().setCookiePolicy(CookiePolicy.IGNORE_COOKIES);

二、在某個請求獲得cookie時擷取cookie:

private static List<String> cookieList=new ArrayList<String>();
if (theget.getResponseHeader("Set-Cookie") != null) 
{
    cookieList.clear();
    Header[] headers = theget.getResponseHeaders("Set-Cookie");
    for (int i = ; i < headers.length; i++) 
    {
        Header header = headers[i];
        System.out.println(header.getName()+":"+header.getValue());
        cookieList.add(header.getValue());
    }
}
           

三、再次請求時附加cookie:

if(cookieList.size()>)
{
    StringBuffer sb = new StringBuffer();
    for (String cookie: cookieList) 
    {
        int pos = cookie.indexOf(";");   
        sb.append(cookie.substring(, pos));
        sb.append(";");
    }
    theget.addRequestHeader("Cookie",sb.toString());
}