您的位置:首页 > 理论基础 > 计算机网络

HttpClient使用SESSIONID模拟用户发送请求

2017-08-18 17:27 387 查看
使用HttpClient版本 4.2.5

 

准备一已登录用户的sessionid:

Java代码  


public static void main(String[] args) {  

      

    String url = "http://10.10.10.90/urcweb/api/http.do?method=get_im_info";  

      

    Map<String,String> header = new HashMap<String,String>();  

    header.put("Cookie", "JSESSIONID=C1A34A2EC4C9423BB460E6F7005CA81E");  

    System.out.println(httpGet(url,null,header));  

}  

  

/** 

 * 发送 get 请求 

 * @param url 

 * @param encode 

 * @param headers 

 * @return 

 */  

public static String httpGet(String url,String encode,Map<String,String> headers){  

    if(encode == null){  

        encode = "utf-8";  

    }  

    String content = null;  

    DefaultHttpClient httpclient = new DefaultHttpClient();  

       HttpGet httpGet = new HttpGet(url);  

        

       //设置 header  

       Header headerss[] = buildHeader(headers);  

       if(headerss != null && headerss.length > 0){  

        httpGet.setHeaders(headerss);  

       }  

       HttpResponse http_response;  

    try {  

        http_response = httpclient.execute(httpGet);  

        HttpEntity entity = http_response.getEntity();  

        content = EntityUtils.toString(entity, encode);  

    } catch (Exception e) {  

        e.printStackTrace();  

    }finally {  

           httpGet.releaseConnection();  

       }  

       return content;  

}  

  

/** 

 * 组装请求头 

 * @param params 

 * @return 

 */  

   public static Header[] buildHeader(Map<String,String> params){  

    Header[] headers = null;  

    if(params != null && params.size() > 0){  

        headers = new BasicHeader[params.size()];  

        int i  = 0;  

        for (Map.Entry<String, String> entry:params.entrySet()) {  

            headers[i] = new BasicHeader(entry.getKey(),entry.getValue());  

            i++;  

        }  

    }  

    return headers;  

   }  

 

测试结果:

成功模拟了该登录用户,如:输出信息如下:

Java代码  


{"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"}}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  httpclient java