• httpclient发送request请求时设置header和timeout


    package com.xxx.xxx.common;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.util.Map;
    
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.config.RequestConfig;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.HttpClientBuilder;
    import org.apache.http.HttpResponse;
    
    import com.google.common.base.Charsets;
    
    public class HttpRequest {
        /**
         * 向指定URL发送GET方法的请求
         * 
         * @param url
         *            发送请求的URL
         * @param param
         *            httprequest请求参数。
         * @param headers
         *            需要添加的httpheader参数
         * @param timeout
         *            请求超时时间
         * @return result 所代表远程资源的响应结果
         */
        public static String Get(String url, String param, Map<String, String> headers, int timeout) {
            String result = "";
            BufferedReader in = null;
            String reqUrl = url + "?" + param;
            try {
                // 构造httprequest设置
                RequestConfig config = RequestConfig.custom().setConnectTimeout(timeout)
                        .setConnectionRequestTimeout(timeout).build();
                HttpClient client = HttpClientBuilder.create().setDefaultRequestConfig(config).build();
                HttpGet htGet = new HttpGet(reqUrl);
                // 添加http headers
                if (headers != null && headers.size() > 0) {
                    for (String key : headers.keySet()) {
                        htGet.addHeader(key, headers.get(key));
                    }
                }
                // 读取数据
                HttpResponse r = client.execute(htGet);
                in = new BufferedReader(new InputStreamReader(r.getEntity().getContent(), Charsets.UTF_8));
                String line;
                while ((line = in.readLine()) != null) {
                    result += line;
                }
            } catch (Exception e) {
                System.out.println("发送GET请求出现异常!" + e);
                e.printStackTrace();
            } finally {
                try {
                    if (in != null) {
                        in = null;
                    }
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
            return result;
        }
    }
  • 相关阅读:
    k8s 部署springcloud
    Actuator 端点监控
    [转]再识Cortex-M3之堆栈
    ARM中R0-R15寄存器的作用
    Keil中 Program Size: Code RO-data RW-data ZI-data
    【浅说】堆(heap)和栈(stack)区别
    I2C的小结
    一个判断I2C总线通信异常原因的方法
    Linux输入子系统详解
    【转】完整精确导入Kernel与Uboot参与编译了的代码到Source Insight,Understand, SlickEdit
  • 原文地址:https://www.cnblogs.com/snowlove67/p/4838455.html
Copyright © 2020-2023  润新知