一、简单便捷的httpget调用接口,并且返回接口数据
1、导入相应的jar包;
2、代码如下:
HttpPost post = null;
try {
HttpClient httpClient = new DefaultHttpClient();
// 设置超时时间
httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 20000);
post = new HttpPost(url);
// 构造消息头
// post.setHeader("Content-type", contenttype);
post.setHeader("rxToken", rxToken);
post.setHeader("source", source);
Map map = new HashMap<>();
// map.put("bizType", "1");
// map.put("pageNo", 1);
// map.put("pageSize", 1000);
// map.put("orgId", 1);
// List list=new ArrayList<>();
// list.add(0);
// list.add(1);
// map.put("memberTypes", list);
// map.put("isLosts", list);
JSONObject json =new JSONObject(map);
// 构建消息实体
StringEntity entity = new StringEntity(json.toString(), Charset.forName("UTF-8"));
entity.setContentEncoding("UTF-8");
// 发送Json格式的数据请求
entity.setContentType("application/json");
post.setEntity(entity);
HttpResponse response = httpClient.execute(post);
// 检验返回码
int statusCode = response.getStatusLine().getStatusCode();
if(statusCode != HttpStatus.SC_OK){
System.out.println("错误接口返回==="+statusCode);
HttpEntity entity1 = response.getEntity();//获取响应实体
long aaa = entity1.getContentLength();//获取相应数据大小
if (aaa == -1) {//如果为-1,则重置date_size
}
content = EntityUtils.toString(entity1);//解析响应
System.out.println("接口返回==="+content);
}else{
HttpEntity entity1 = response.getEntity();//获取响应实体
long aaa = entity1.getContentLength();//获取相应数据大小
if (aaa == -1) {//如果为-1,则重置date_size
}
content = EntityUtils.toString(entity1);//解析响应
System.out.println("接口返回==="+content);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(post != null){
try {
post.releaseConnection();
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
3、根据接口返回数据判断是否满足您的需求。