代码如下:
package com.wn.encode.utils; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; 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.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import java.util.Map; public class HttpUtil { public static final String CONTENT_TYPE_TEXT_JSON = "text/json"; /** * post 提交(json) * @param url * @param parameters * @param encoding * @param token * @return * @throws ParseException * @throws IOException */ public static String postSend(String url, String parameters, String encoding,String token) throws ParseException, IOException { String body = ""; //创建httpclient对象 CloseableHttpClient client = HttpClients.createDefault(); //创建post方式请求对象 HttpPost httpPost = new HttpPost( url); //装填参数 List<NameValuePair> nvps = new ArrayList<NameValuePair>(); //System.out.println("json:"+parameters); //设置参数到请求对象中 httpPost.setEntity(new UrlEncodedFormEntity(nvps, encoding)); //System.out.println("请求地址:"+ url); //设置header信息 //指定报文头【Content-type】、【User-Agent】 httpPost.setHeader("Content-type", "application/json; charset=utf-8"); httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); httpPost.setHeader("Accept", "application/json"); //设置token if(!(token==null||"".equals(token))){ httpPost.setHeader("Authorization","Bearer "+token); } StringEntity se = new StringEntity(parameters); se.setContentType(CONTENT_TYPE_TEXT_JSON); httpPost.setEntity(se); //执行请求操作,并拿到结果(同步阻塞) CloseableHttpResponse response = client.execute(httpPost); //获取结果实体 HttpEntity entity = response.getEntity(); if (entity != null) { //按指定编码转换结果实体为String类型 body = EntityUtils.toString(entity, encoding); } EntityUtils.consume(entity); //释放链接 response.close(); return body; } /** * get send * @param url * @param parameters * @param token * @return */ public static String getSend(String url, Map<String,String> parameters, String token){ //httpClient HttpClient httpClient = new DefaultHttpClient(); String urlParameters = ""; for (Map.Entry<String,String> entry : parameters.entrySet()) { urlParameters+=entry.getKey()+"="+entry.getValue(); } HttpGet httpGet = new HttpGet(url+"?"+urlParameters); // set header String Au="Bearer "+token; httpGet.setHeader("Authorization",Au); //response HttpResponse response = null; try{ response = httpClient.execute(httpGet); }catch (Exception e) {} //get response String String temp=""; try{ HttpEntity entity = response.getEntity(); temp=EntityUtils.toString(entity,"UTF-8"); }catch (Exception e) {} return temp; } }