自定义HttpClient工具类

自定义HttpClient工具类

简介

  • 依赖
    
    org.apache.httpcomponents
    httpclient
    4.5.6
    
    

api

  • 发送get请求: doGet(String url);
  • 发送post请求,传参数json: *doPostJson(String url, String jsonParam);*

源码

  • import java.util.HashMap;
    import java.util.Map;
     
    import org.apache.http.HttpEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.ContentType;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.protocol.HTTP;
    import org.apache.http.util.EntityUtils;
     
    import com.alibaba.fastjson.JSON;
     
    /* 依赖
    
    org.apache.httpcomponents
    httpclient
    4.5.6
    
    */
    public class HttpClientUtils {
    	
    	public static void main(String[] args) {
    		doGet("http://127.0.0.1/test1");
    		
    		Map data = new HashMap();
    		data.put("code", "002");
    		data.put("name", "测试");
    		doPostJson("http://127.0.0.1/test2", Object2String(data));
    		
    	}
    	
    	public static void doPostJson(String url, String jsonParam){
            try {
                CloseableHttpClient client = null;
                CloseableHttpResponse response = null;
                try {
                    HttpPost httpPost = new HttpPost(url);
                    httpPost.setHeader(HTTP.CONTENT_TYPE, "application/json");
                    httpPost.setEntity(new StringEntity(jsonParam, ContentType.create("text/json", "UTF-8")));
                    client = HttpClients.createDefault();
                    response = client.execute(httpPost);
                    int code = response.getStatusLine().getStatusCode();
                    HttpEntity entity = response.getEntity();
                    String result = EntityUtils.toString(entity);
                    System.err.println(code);
                    System.err.println(result);
                } finally {
                    if (response != null) {
                        response.close();
                    }
                    if (client != null) {
                        client.close();
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    	}
    	
    	
    	public static void doGet(String url){
            try {
                CloseableHttpClient client = null;
                CloseableHttpResponse response = null;
                try {
                    HttpGet httpGet = new HttpGet(url);
                    client = HttpClients.createDefault();
                    response = client.execute(httpGet);
                    HttpEntity entity = response.getEntity();
                    String result = EntityUtils.toString(entity);
                    int code = response.getStatusLine().getStatusCode();
                    System.err.println(result);
                    System.err.println(code);
                } finally {
                    if (response != null) {
                        response.close();
                    }
                    if (client != null) {
                        client.close();
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
    	}
    	
    	/** 将输入参数  转换为json字符串 */
    	public static String Object2String(Object obj){
    //		try {
    //			return new ObjectMapper().writeValueAsString(obj);
    //		} catch (JsonProcessingException e) {
    //			e.printStackTrace();
    //		}
    		
    		return JSON.toJSONString(obj);
    	}
    	
    	
    	//TODO 待解决: 服务端接收后有中文款乱码问题
    //	public static void doPostForm(String url, String formParam){
    //        try {
    //            CloseableHttpClient client = null;
    //            CloseableHttpResponse response = null;
    //            try {
    //                // 创建一个提交数据的容器
    //                List parames = new ArrayList<>();
    //                parames.add(new BasicNameValuePair("userId", "001"));
    //                parames.add(new BasicNameValuePair("userName", "测试"));
    //                
    //                HttpPost httpPost = new HttpPost(url);
    //                httpPost.setHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded;charset=UTF-8");
    //                httpPost.setEntity(new UrlEncodedFormEntity(parames, "UTF-8"));
    //                client = HttpClients.createDefault();
    //                response = client.execute(httpPost);
    //                HttpEntity entity = response.getEntity();
    //                String result = EntityUtils.toString(entity);
    //                System.err.println(result);
    //            } finally {
    //                if (response != null) {
    //                    response.close();
    //                }
    //                if (client != null) {
    //                    client.close();
    //                }
    //            }
    //        } catch (Exception e) {
    //            e.printStackTrace();
    //        }
    //	}
    }
    

你可能感兴趣的:(软件,JAVA基础工作中实际总结,redis,mysql,数据库,java,面试)