Java 基于HttpClient和fluent-hc发送POST请求
2017-07-26 00:00
417 查看
摘要: 记录备忘
1、使用HttpClient
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5</version> </dependency>
String url = "http://xxx/dlmp/logview/addLogViewAPI.htm"; Map<String, String> params = Maps.newHashMap(); params.put("xxx", "xxx"); params.put("xxx", "xxx"); System.out.println(JSON.toJSONString(params)); RequestConfig defaultRequestConfig = RequestConfig.custom().setConnectTimeout(3000).setSocketTimeout(3000).setConnectionRequestTimeout(3000).build(); CloseableHttpClient httpclient = HttpClients.custom().setRetryHandler(new DefaultHttpRequestRetryHandler(0,false)).build(); httpclient = HttpClients.custom().setRetryHandler(new DefaultHttpRequestRetryHandler(0,false)).build(); HttpPost httpPost = new HttpPost(url); httpPost.setConfig(defaultRequestConfig); StringEntity entity = new StringEntity(JSON.toJSONString(params),"utf-8");//解决中文乱码问题 entity.setContentEncoding("UTF-8"); entity.setContentType("application/json"); httpPost.setEntity(entity); // 表单方式 // List<BasicNameValuePair> pairList = new ArrayList<BasicNameValuePair>(); // pairList.add(new BasicNameValuePair("name", "admin")); // pairList.add(new BasicNameValuePair("pass", "123456")); // httpPost.setEntity(new UrlEncodedFormEntity(pairList, "utf-8")); CloseableHttpResponse response = httpclient.execute(httpPost); String res = EntityUtils.toString(response.getEntity()); System.out.println(res);
2、使用轻量级的fluent-hc包
<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5</version> </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.5.2</version>
</dependency>
String url = "http://xxx/dlmp/logview/addLogViewAPI.htm"; Map<String, String> params = Maps.newHashMap(); params.put("xxx", "xxx"); params.put("xxx", "xxx"); System.out.println(JSON.toJSONString(params)); String res = EntityUtils.toString(Request.Post(url).bodyString(JSON.toJSONString(params), ContentType.APPLICATION_JSON).execute().returnResponse().getEntity()); System.out.println(res);
相关文章推荐
- java apache commons HttpClient发送get和post请求的学习整理
- Java 中使用 HttpClient 发送 get、post 请求的方法
- java apache commons HttpClient发送get和post请求的学习整理
- java apache commons HttpClient发送get和post请求的学习整理
- java apache commons HttpClient发送get和post请求的学习整理
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- 多种方式实现(jdk原生api实现/httpClient的实现) java 发送http(post/get)请求并携带参数(讲解超详细)
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- java apache commons HttpClient发送get和post请求的学习整理
- java 利用httpclient 3.1 和 httpclient4.1.2发送post请求
- java使用httpclient发送post请求示例
- Java用org.apache.http.client的HttpClient发送Post请求 可获取返回Header
- java代码发送JSON格式的httpPOST请求
- java发送post请求
- Java:使用HttpClient进行POST和GET请求以及文件上传和下载
- java中使用scoket模拟http post请求发送图片或文件
- java 模拟发送post请求测试
- java 发送get和post请求
- 【HttpClient】JAVA利用HttpClient进行POST和GET请求(HTTPS)