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 = 0; i < headers.length; i++) 
    {
        Header header = headers[i];
        System.out.println(header.getName()+":"+header.getValue());
        cookieList.add(header.getValue());
    }
}

三、再次請求時附加cookie:

if(cookieList.size()>0)
{
    StringBuffer sb = new StringBuffer();
    for (String cookie: cookieList) 
    {
        int pos = cookie.indexOf(";");   
        sb.append(cookie.substring(0, pos));
        sb.append(";");
    }
    theget.addRequestHeader("Cookie",sb.toString());
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章