HttpClient使用SESSIONID模擬用戶發送請求

使用HttpClient版本 4.2.5

 準備一已登錄用戶的sessionid:

Java代碼  收藏代碼
  1. public static void main(String[] args) {  
  2.       
  3.     String url = "http://10.10.10.90/urcweb/api/http.do?method=get_im_info";  
  4.       
  5.     Map<String,String> header = new HashMap<String,String>();  
  6.     header.put("Cookie""JSESSIONID=C1A34A2EC4C9423BB460E6F7005CA81E");  
  7.     System.out.println(httpGet(url,null,header));  
  8. }  
  9.   
  10. /** 
  11.  * 發送 get 請求 
  12.  * @param url 
  13.  * @param encode 
  14.  * @param headers 
  15.  * @return 
  16.  */  
  17. public static String httpGet(String url,String encode,Map<String,String> headers){  
  18.     if(encode == null){  
  19.         encode = "utf-8";  
  20.     }  
  21.     String content = null;  
  22.     DefaultHttpClient httpclient = new DefaultHttpClient();  
  23.        HttpGet httpGet = new HttpGet(url);  
  24.         
  25.        //設置 header  
  26.        Header headerss[] = buildHeader(headers);  
  27.        if(headerss != null && headerss.length > 0){  
  28.         httpGet.setHeaders(headerss);  
  29.        }  
  30.        HttpResponse http_response;  
  31.     try {  
  32.         http_response = httpclient.execute(httpGet);  
  33.         HttpEntity entity = http_response.getEntity();  
  34.         content = EntityUtils.toString(entity, encode);  
  35.     } catch (Exception e) {  
  36.         e.printStackTrace();  
  37.     }finally {  
  38.            httpGet.releaseConnection();  
  39.        }  
  40.        return content;  
  41. }  
  42.   
  43. /** 
  44.  * 組裝請求頭 
  45.  * @param params 
  46.  * @return 
  47.  */  
  48.    public static Header[] buildHeader(Map<String,String> params){  
  49.     Header[] headers = null;  
  50.     if(params != null && params.size() > 0){  
  51.         headers = new BasicHeader[params.size()];  
  52.         int i  = 0;  
  53.         for (Map.Entry<String, String> entry:params.entrySet()) {  
  54.             headers[i] = new BasicHeader(entry.getKey(),entry.getValue());  
  55.             i++;  
  56.         }  
  57.     }  
  58.     return headers;  
  59.    }  

 

測試結果:

成功模擬了該登錄用戶,如:輸出信息如下:

Java代碼  收藏代碼
  1. {"friends":[{"id":7,"gname":"我的好友","type":null},{"id":0,"gname":"未分組","gmember":[]}],"extinfo":null,"userinfo":{"uid":"PTADMIN","icon":null,"skill":"1","user_type":"9510","uname":"平臺運營者","userId":"PTADMIN"}}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章