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();
            }
        }
    
    }
  • 相关阅读:
    给“file”类型的input框赋值的问题
    bootstrap-paginator分页插件的两种使用方式
    开发中使用UEditor编辑器的注意事项
    java图形界面设计
    ArrayList 、LinkList区别以及速度对比
    java中的ArrayList 、List、LinkedList、Collection关系详解
    Josephus问题的不同实现方法与总结
    浅谈JAVA中字符串常量的储存位置
    linux安装vmware出现Gtk-Message: Failed to load module pk-gtk-module canberra-gtk-module的解决方法
    ubuntu安装搜狗输入法的相关问题
  • 原文地址:https://www.cnblogs.com/zj0208/p/6113897.html
Copyright © 2011-2022 走看看