Java HttpClient4.5.2发送post请求示例
public static Map<String, Object> invokeCapp(String URL, Map paramMap) throws Exception {
Map map = new HashMap();
RequestConfig requestConfig = RequestConfig.custom()
.setConnectTimeout(2000) // 设置连接超时时间,单位毫秒
.setConnectionRequestTimeout(1000)
.setSocketTimeout(5000) // 请求获取数据的超时时间,单位毫秒
.build();
HttpRequestRetryHandler myRetryHandler = new HttpRequestRetryHandler() {
@Override
public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
return false;
}
};
CloseableHttpClient client = HttpClients.custom()
.setDefaultRequestConfig(requestConfig)
.setRetryHandler(myRetryHandler)
.build();
try {
JSONObject paramJson = new JSONObject(paramMap);
StringEntity paramEntity = new StringEntity(paramJson.toString(), "UTF-8"); // 对参数进行编码
paramEntity.setContentType("application/x-www-form-urlencoded; charset=utf-8");
// paramEntity.setContentType("application/json; charset=utf-8");
HttpPost httpPost = new HttpPost(URL);
httpPost.setEntity(paramEntity);
httpPost.setConfig(requestConfig);
CloseableHttpResponse response = client.execute(httpPost);
HttpEntity entity = response.getEntity();
if (entity != null) {
String responseStr = EntityUtils.toString(entity, "UTF-8");
logger.info("RequestUtils - responseStr <== " + responseStr);
if (StringHelper.isEmpty(responseStr)) {
responseStr = "{}";
}
int statusCode = response.getStatusLine().getStatusCode();
logger.info("RequestUtils - statusCode <== " + statusCode);
if (HttpServletResponse.SC_OK == statusCode) {
JSONObject dataJson = (JSONObject) JSONObject.parse(responseStr);
map = new HashMap(dataJson);
} else {
logger.info("RequestUtils - invokeCapp <== " + responseStr);
return map;
}
}
response.close();
} finally {
client.close();
}
return map;
}
Java HttpClient4.5.2发送post请求示例的更多相关文章
- 【JAVA】通过HttpClient发送HTTP请求的方法
HttpClient介绍 HttpClient 不是一个浏览器.它是一个客户端的 HTTP 通信实现库.HttpClient的目标是发 送和接收HTTP 报文.HttpClient不会去缓存内容,执行 ...
- Java利用原始HttpURLConnection发送http请求数据小结
1,在post请求下,写输出应该在读取之后,否则会抛出异常. 即操作OutputStream对象应该在InputStreamReader之前. 2.conn.getResponseCode()获取返回 ...
- java中原生的发送http请求(无任何的jar包导入)
package com.teamsun.pay.wxpay.util; import java.io.BufferedReader; import java.io.IOException; impor ...
- java 常见几种发送http请求案例
import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java ...
- Java客户端通过Http发送POST请求上传文件到web服务器
http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...
- Java HttpURLConnection发送post请求示例
public static Map<String, Object> invokeCapp(String urlStr, Map<String, Object> params) ...
- Java之使用HttpClient发送GET请求
package LoadRunner; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import o ...
- [Java]随记--HttpClient发送put请求
http://blog.csdn.net/u010989191/article/details/52852155 ******************************************* ...
- Java发送HTTPS请求
前言 上篇文章介绍了 java 发送 http 请求,大家都知道发送http是不安全的 .我也是由于对接了其他企业后总结了一套发送 https的工具.大家网上找方法很多的,但是可不是你粘过来就能用啊, ...
随机推荐
- CVE漏洞—PHPCMS2008 /type.php代码注入高危漏洞预警
11月4日,阿里云安全首次捕获PHPCMS 2008版本的/type.php远程GetShell 0day利用攻击,攻击者可以利用该漏洞远程植入webshell,导致文件篡改.数据泄漏.服务器被远程控 ...
- [图解]ARP协议(一)
一.ARP概述 如果要在TCP/IP协议栈中选择一个"最不安全的协议",那么我会毫不犹豫把票投给ARP协议.我们经常听到的这些术语,包括"网络扫描"." ...
- SpringMvc 请求中日期类型参数接收一二事儿
首先说明:以版本为Spring 4.3.0为测试对象: 开启<mvc:annotation-driven /> 测试场景一:请求中含有date属性,该类型为日期类型,SpringMvc采用 ...
- 改善 C# 的语言习惯(一) - 使用属性而不是可访问的数据成员(整理中)
改善 C# 的语言习惯(一) - 使用属性而不是可访问的数据成员 序 为什么我们的程序运行得棒棒的,还要改呢?Why? 答:我们要让程序运行得更快,执行的效率更高,代码的可读性更强,维护的成本更低.. ...
- C#委托与事件总结
目录 C#委托与事件的总结 1.概述 2.委托 2.1 什么是委托 2.2 委託的使用 2.3 深入理解委托 2.4 为什么要使用委托 2.5 代码清单 3.事件 3.1 事件与委托的关系 3.2 订 ...
- vb.net連接SQL数据库
'導入命名空間Imports System.Data.SqlClient '定義變量 Dim Sql As String 'SQL字串 Dim Sqlado As SqlConnection '连接数 ...
- Java开发笔记(三十八)利用正则表达式校验字符串
前面多次提到了正则串.正则表达式,那么正则表达式究竟是符合什么定义的字符串呢?正则表达式是编程语言处理字符串格式的一种逻辑式子,它利用若干保留字符定义了形形色色的匹配规则,从而通过一个式子来覆盖满足了 ...
- [LeetCode] 1. Two Sum 两数之和
Part 1. 题目描述 (easy) Given an array of integers, return indices of the two numbers such that they add ...
- js 数组插入和删除处理
function insertArray(arr, val, compare, maxLen) { //返回位置 const index = arr.findIndex(compare) if (in ...
- javaweb登陆过滤器实现
在web.xml中配置登陆过滤器: <!-- 配置登陆过滤器 --> <filter> <filter-name>loginFilter</filter-na ...