美文网首页
java-httpclient工具类2018-07-23

java-httpclient工具类2018-07-23

作者: Mr_ZhangH | 来源:发表于2018-07-23 16:00 被阅读0次

    httpclientutil

    importjava.io.IOException;

    importjava.net.URI;

    importjava.util.ArrayList;

    importjava.util.List;

    importjava.util.Map;

    importorg.apache.http.NameValuePair;

    importorg.apache.http.client.entity.UrlEncodedFormEntity;

    importorg.apache.http.client.methods.CloseableHttpResponse;

    importorg.apache.http.client.methods.HttpGet;

    importorg.apache.http.client.methods.HttpPost;

    importorg.apache.http.client.utils.URIBuilder;

    importorg.apache.http.entity.ContentType;

    importorg.apache.http.entity.StringEntity;

    importorg.apache.http.impl.client.CloseableHttpClient;

    importorg.apache.http.impl.client.HttpClients;

    importorg.apache.http.message.BasicNameValuePair;

    importorg.apache.http.util.EntityUtils;

    publicclassHttpClientUtil{

    publicstaticStringdoGet(String url, Map param){

    // 创建Httpclient对象

    CloseableHttpClient httpclient = HttpClients.createDefault();

    String resultString ="";

    CloseableHttpResponse response =null;

    try{

    // 创建uri

    URIBuilder builder =newURIBuilder(url);

    if(param !=null) {

    for(String key : param.keySet()) {

    builder.addParameter(key, param.get(key));

    }

    }

    URI uri = builder.build();

    // 创建http GET请求

    HttpGet httpGet =newHttpGet(uri);

    // 执行请求

    response = httpclient.execute(httpGet);

    // 判断返回状态是否为200

    if(response.getStatusLine().getStatusCode() ==200) {

    resultString = EntityUtils.toString(response.getEntity(),"UTF-8");

    }

    }catch(Exception e) {

    e.printStackTrace();

    }finally{

    try{

    if(response !=null) {

    response.close();

    }

    httpclient.close();

    }catch(IOException e) {

    e.printStackTrace();

    }

    }

    returnresultString;

    }

    publicstaticStringdoGet(String url){

    returndoGet(url,null);

    }

    publicstaticStringdoPost(String url, Map param){

    // 创建Httpclient对象

    CloseableHttpClient httpClient = HttpClients.createDefault();

    CloseableHttpResponse response =null;

    String resultString ="";

    try{

    // 创建Http Post请求

    HttpPost httpPost =newHttpPost(url);

    // 创建参数列表

    if(param !=null) {

    List paramList =newArrayList<>();

    for(String key : param.keySet()) {

    paramList.add(newBasicNameValuePair(key, param.get(key)));

    }

    // 模拟表单

    UrlEncodedFormEntity entity =newUrlEncodedFormEntity(paramList);

    httpPost.setEntity(entity);

    }

    // 执行http请求

    response = httpClient.execute(httpPost);

    resultString = EntityUtils.toString(response.getEntity(),"utf-8");

    }catch(Exception e) {

    e.printStackTrace();

    }finally{

    try{

    response.close();

    }catch(IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    returnresultString;

    }

    publicstaticStringdoPost(String url){

    returndoPost(url,null);

    }

    publicstaticStringdoPostJson(String url, String json){

    // 创建Httpclient对象

    CloseableHttpClient httpClient = HttpClients.createDefault();

    CloseableHttpResponse response =null;

    String resultString ="";

    try{

    // 创建Http Post请求

    HttpPost httpPost =newHttpPost(url);

    // 创建请求内容

    StringEntity entity =newStringEntity(json, ContentType.APPLICATION_JSON);

    httpPost.setEntity(entity);

    // 执行http请求

    response = httpClient.execute(httpPost);

    resultString = EntityUtils.toString(response.getEntity(),"utf-8");

    }catch(Exception e) {

    e.printStackTrace();

    }finally{

    try{

    response.close();

    }catch(IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    }

    returnresultString;

    }

    }

    相关文章

      网友评论

          本文标题:java-httpclient工具类2018-07-23

          本文链接:https://www.haomeiwen.com/subject/jdsjmftx.html