zoukankan      html  css  js  c++  java
  • 使用HttpClient访问url的工具类

    maven依赖jar包配置:

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.3.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.3.6</version>
        </dependency>

    Java代码如下:

    import java.io.IOException;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.client.ClientProtocolException;
    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.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    public class HttpClientUtil {
    
        /**
         * httpPost
         */
        public static String httpPost(String url, String jsonParam) throws ClientProtocolException, IOException {
            CloseableHttpClient httpclient = HttpClients.createDefault();
    
            HttpPost httpPost = new HttpPost(url);
            if (true) {
                // 使参数体为空时,也可以进行post请求
                jsonParam = (null == jsonParam || jsonParam.isEmpty()) ? "" : jsonParam;
    
                // post请求的一些设置
                StringEntity entity = new StringEntity(jsonParam, "utf-8");
                entity.setContentEncoding("UTF-8");
                entity.setContentType("application/json");
                httpPost.setEntity(entity);
            }
            CloseableHttpResponse response = httpclient.execute(httpPost);
    
            try {
                HttpEntity entity = response.getEntity();
                // EntityUtils.consume(entity);
                String str = EntityUtils.toString(entity);
                EntityUtils.consume(entity); // 此句关闭了流
                return str;
            } finally {
                response.close();
            }
        }
    
        /**
         * httpGet
         */
        public static String httpGet(String url) throws ClientProtocolException, IOException {
            CloseableHttpClient httpclient = HttpClients.createDefault();
            HttpGet httpGet = new HttpGet(url);
            CloseableHttpResponse response = httpclient.execute(httpGet);
            try {
                HttpEntity entity = response.getEntity();
                String strResult = EntityUtils.toString(entity);
                return strResult;
            } finally {
                response.close();
            }
        }
    
    }
  • 相关阅读:
    drf框架 APView的请求生命周期
    web API接口、restful规范
    vue项目安装插件配置
    vue项目、路由
    day67
    vue组件
    day66
    HDFS(Hadoop Distribute File System)
    JVM运行优化学习笔记
    ELK(检索)
  • 原文地址:https://www.cnblogs.com/zj0208/p/6113897.html
Copyright © 2011-2022 走看看