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

用HttpClient发送get,post请求的工具类

2017-07-13 10:13 405 查看
public class HttpRequestUtils {

private static Logger log = LoggerFactory.getLogger(HttpRequestUtils.class);
//返回对象的json
public static JSONObject httpGet(String url){
JSONObject jsonResult = null;
try {
DefaultHttpClient client =new DefaultHttpClient();
//发送get请求
HttpGet request = new HttpGet(url);
HttpResponse response=client.execute(request);
//请求发送并得到响应
if (response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){
//读取服务器返回的json字符串数据
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null){
buffer.append(line);
}
jsonResult=JSONObject.fromObject(buffer.toString());

}

}catch (Exception e){

log.info("get请求失败:"+ url);
}
return  jsonResult;

}
//返回数组的json
public static JSONArray httpGetArray(String url){
JSONArray jsonResult = null;
try {
DefaultHttpClient client =new DefaultHttpClient();
//发送get请求
HttpGet request = new HttpGet(url);
HttpResponse response=client.execute(request);
//请求发送并得到响应
if (response.getStatusLine().getStatusCode()== HttpStatus.SC_OK){
//读取服务器返回的json字符串数据
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null){
buffer.append(line);
}
jsonResult= JSON.parseArray(buffer.toString());

}

}catch (Exception e){

log.info("get请求失败:"+ url);
}
return  jsonResult;

}

//发送post请求
public static JSONObject httpPost(String url,Map<String,String>params) {
JSONObject jsonResult = null;
try {
DefaultHttpClient client = new DefaultHttpClient();
//发送post请求
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList<>();
if (params != null) {
Iterator<String> keys = params.keySet().iterator();
while (keys.hasNext()) {
String key = keys.next();
nvps.add(new BasicNameValuePair(key, params.get(key)));
}
//URL格式编码
httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
}
HttpResponse response = client.execute(httpPost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
HttpEntity entity = response.getEntity();
InputStream is = entity.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line);
}
jsonResult = JSONObject.fromObject(buffer.toString());
}

} catch (Exception e) {

log.info("get请求失败:"+ url);
}
return  jsonResult;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息