| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- package com.steerinfo.dil.util;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import org.apache.commons.httpclient.HttpClient;
- import org.apache.commons.httpclient.HttpException;
- import org.apache.commons.httpclient.methods.*;
- import org.apache.commons.httpclient.params.HttpMethodParams;
- import java.io.IOException;
- public class HttpUtil {
- public static JSONObject post(PostMethod postMethod, int connectTimeout, int socketTimeout) throws Exception {
- // 创建httpClient实例对象
- HttpClient httpClient = new HttpClient();
- // 设置httpClient连接主机服务器超时时间
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectTimeout);
- // 设置socket.timeout时间
- httpClient.getHttpConnectionManager().getParams().setSoTimeout(socketTimeout);
- if(postMethod.getRequestHeader("Content-Type") == null){
- postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
- }
- httpClient.executeMethod(postMethod);
- String result = postMethod.getResponseBodyAsString();
- postMethod.releaseConnection();//释放连接
- return JSONObject.parseObject(result);
- }
- public static JSONObject delete(DeleteMethod deleteMethod, int connectTimeout, int socketTimeout) throws Exception {
- HttpClient httpClient = new HttpClient();
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectTimeout);
- httpClient.getHttpConnectionManager().getParams().setSoTimeout(socketTimeout);
- if(deleteMethod.getRequestHeader("Content-Type") == null){
- deleteMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
- }
- httpClient.executeMethod(deleteMethod);
- String result = deleteMethod.getResponseBodyAsString();
- deleteMethod.releaseConnection();//释放连接
- return JSONObject.parseObject(result);
- }
- public static JSONObject sendPost(String url,String param) throws HttpException, IOException {
- // 创建httpClient实例对象
- HttpClient httpClient = new HttpClient();
- // 设置httpClient连接/执行超时时间(ms)
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
- httpClient.getHttpConnectionManager().getParams().setSoTimeout(10000);
- // 创建post请求方法实例对象
- PostMethod postMethod = new PostMethod(url);
- postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
- // 构建参数
- RequestEntity entity = new StringRequestEntity(param,"application/json", "UTF-8");
- postMethod.setRequestEntity(entity);
- //执行并处理返回
- httpClient.executeMethod(postMethod);
- String result = postMethod.getResponseBodyAsString();
- postMethod.releaseConnection();
- return JSONObject.parseObject(result);
- }
- public static JSONObject sendPostObject(String url,JSONObject param,String accessToken) throws HttpException, IOException {
- // 创建httpClient实例对象
- HttpClient httpClient = new HttpClient();
- // 设置httpClient连接/执行超时时间(ms)
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
- httpClient.getHttpConnectionManager().getParams().setSoTimeout(10000);
- // 创建post请求方法实例对象
- PostMethod postMethod = new PostMethod(url);
- postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
- // 构建参数
- postMethod.setRequestHeader("Authorization",accessToken);
- RequestEntity entity = new StringRequestEntity(param.toJSONString(),"application/json", "UTF-8");
- postMethod.setRequestEntity(entity);
- //执行并处理返回
- httpClient.executeMethod(postMethod);
- String result = postMethod.getResponseBodyAsString();
- postMethod.releaseConnection();
- return JSONObject.parseObject(result);
- }
- public static JSONObject sendPostArray(String url, JSONArray array, String accessToken) throws HttpException, IOException {
- // 创建httpClient实例对象
- HttpClient httpClient = new HttpClient();
- // 设置httpClient连接/执行超时时间(ms)
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
- httpClient.getHttpConnectionManager().getParams().setSoTimeout(15000);
- // 创建post请求方法实例对象
- PostMethod postMethod = new PostMethod(url);
- postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
- // 构建参数
- postMethod.setRequestHeader("Authorization",accessToken);
- //postMethod.setRequestHeader("Cookie",accessToken);
- RequestEntity entity = new StringRequestEntity(array.toJSONString(),"application/json", "UTF-8");
- postMethod.setRequestEntity(entity);
- //执行并处理返回
- httpClient.executeMethod(postMethod);
- String result = postMethod.getResponseBodyAsString();
- postMethod.releaseConnection();
- return JSONObject.parseObject(result);
- }
- public static String sendGet(String urlParam) throws HttpException, IOException {
- // 创建httpClient实例对象
- HttpClient httpClient = new HttpClient();
- // 设置httpClient连接主机服务器超时时间:15000毫秒
- httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
- // 创建GET请求方法实例对象
- GetMethod getMethod = new GetMethod(urlParam);
- // 设置post请求超时时间
- getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
- getMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
- httpClient.executeMethod(getMethod);
- String result = getMethod.getResponseBodyAsString();
- getMethod.releaseConnection();
- return result;
- }
- public static void main(String[] args) throws HttpException, IOException {
- }
- }
|