httpclient发送request请求时设置header和timeout
2015-09-25 15:45
633 查看
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; } }
相关文章推荐
- 基于caffenet网络人脸检测模型的测试步骤
- 接口测试HttpClient实践20150925
- Linux内核源代码分析——fork()原理&多进程网络模型 http://blog.csdn.net/hyfcomeon/article/details/9060237
- loadrunner测试TCP协议服务器性能
- 《深入理解Linux网络技术内幕》阅读笔记(二)
- TCP/IP数据报格式分析
- iOS安全系列之二:HTTPS进阶
- 解决DataSnap支持的Tcp长连接数受限的两种方法
- 关于httpclient使用https提交参数
- iOS安全系列之一:HTTPS
- 网络扫描技术揭秘
- 找呀志_java网络编程(5)TCP和udp差额
- 2015北京网络赛 D-The Celebration of Rabbits 动归+FWT
- Xcode7 beta 网络请求报错:The resource could not be loaded because the App Transport Security policy requir
- [原] 利用 OVS 建立 VxLAN 虚拟网络实验
- C# 热敏打印机 Socket 网络链接 打印 图片 (一)
- tcprstat分析服务的响应速度
- DataSnap如何监控Tcp/IP客户端的连接情况
- 第1章 网络基础知识
- boost asio网络编程