zoukankan      html  css  js  c++  java
  • HttpClient工具类

    <dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5</version>
    </dependency>
    
     
    
    
    package com;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.config.RequestConfig;
    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.client.utils.URIBuilder;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    import java.net.URI;
    import java.net.URISyntaxException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    public class M_HttpClient {
    public static String get(String url, Map<String, String> param) {
    
    //创建HttpClient对象
    CloseableHttpClient httpClient = HttpClients.createDefault();
    
    
    String resultString = "";
    CloseableHttpResponse response = null;
    try {
    //创建uri
    URIBuilder builder = new URIBuilder(url);
    if (param != null) {
    for (String key : param.keySet()) {
    builder.addParameter(key, param.get(key));
    }
    }
    URI uri = builder.build();
    
    //创建Http Get请求
    
    HttpGet httpGet=new HttpGet(uri);//HTTP Get请求(POST雷同)
    RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(1000).setConnectTimeout(1000).build();//设置请求和传输超时时间
    httpGet.setConfig(requestConfig);
    httpClient.execute(httpGet);//执行请求
    
    //执行请求
    response = httpClient.execute(httpGet);
    
    //判断返回状态是否为200
    if (response.getStatusLine().getStatusCode() == 200) {
    resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
    }
    
    } catch (URISyntaxException e) {
    e.printStackTrace();
    } catch (ClientProtocolException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    if (response != null) {
    response.close();
    }
    httpClient.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return resultString;
    }
    
    public static String get(String url) {
    return get(url, null);
    }
    public static String post(String url, Map<String, String> param) {
    //创建HttpClient对象
    CloseableHttpClient httpClient = HttpClients.createDefault();
    
    String resultString = "";
    CloseableHttpResponse response = null;
    
    try {
    //创建Http Post请求
    HttpPost httpPost = new HttpPost(url);
    
    //创建参数列表
    if (param != null) {
    List<NameValuePair> paramList = new ArrayList();
    for (String key : param.keySet()) {
    paramList.add(new BasicNameValuePair(key, param.get(key)));
    }
    
    //模拟表单
    UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList, "UTF-8");
    httpPost.setEntity(entity);
    }
    
    //执行http请求
    response = httpClient.execute(httpPost);
    resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
    
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    } catch (ClientProtocolException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    if (response != null) {
    response.close();
    }
    httpClient.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    
    return resultString;
    }
    
    public static String post(String url) {
    return post(url, null);
    }
    }
    
     
    
     
  • 相关阅读:
    酒店预订2
    酒店预订1
    软件2
    酒店预定系统
    系统软件构成
    用例图
    软件构成
    业务用例名
    业务用例结果查询
    业务用例导师交流
  • 原文地址:https://www.cnblogs.com/minglie/p/9326803.html
Copyright © 2011-2022 走看看