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"}}
准备一已登录用户的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使用SESSIONID模拟用户发送请求
- HttpClient使用SESSIONID模拟用户发送请求
- HttpClient使用SESSIONID模拟用户发送请求
- 使用 HttpWebRequest 发送模拟 POST 请求
- commons-httpclient 服务端模拟客户端发送请求
- 使用C#发送Http 请求实现模拟登陆(以博客园为例)
- Android使用Apache HttpClient发送GET、POST请求
- Android 通过httpclient请求web服务器,并解决用户登录session保持
- 使用firefox插件httperrequest,模拟发送及接收Json请求
- 使用httperrequest,模拟发送及接收Json请求
- java中使用scoket模拟http post请求发送图片或文件
- 使用Apache HttpClient4.x 发送 GET POST 请求
- 使用java程序模拟页面发送http的post请求
- (转) httpclient4.x 使用连接池发送https请求使用总结
- httpclient4.x 使用连接池发送https请求使用总结
- java中使用scoket模拟http post请求发送图片或文件
- Android使用Apache HttpClient发送GET、POST请求
- 使用java程序模拟页面发送http的post请求
- 使用java程序模拟页面发送http的post请求
- httpclient4学习-模拟通过流的形式向Servlet发送请求及超时的控制