package com.dqm.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import java.util.Set; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.methods.PostMethod; import org.apache.log4j.Logger; public class HttpClientUtil { private static Logger logger = Logger.getLogger(HttpClientUtil.class); public static String doPost(String url, Map<String, String> params, String charset) { StringBuffer response = new StringBuffer(); HttpClient client = new HttpClient(); PostMethod method = new PostMethod(url); // 设置Http Post数据 method.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=" + charset); if(params != null){ Set<String> keySet = params.keySet(); NameValuePair[] param = new NameValuePair[keySet.size()]; int i = 0; for(String key : keySet){ param[i] = new NameValuePair(key, params.get(key)); i++; } method.setRequestBody(param); } InputStream responseBodyStream = null; InputStreamReader streamReader = null; BufferedReader reader = null; try { client.executeMethod(method); if (method.getStatusCode() == HttpStatus.SC_OK) { responseBodyStream = method.getResponseBodyAsStream(); streamReader = new InputStreamReader(responseBodyStream, charset); reader = new BufferedReader(streamReader); String line; while ((line = reader.readLine()) != null) { response.append(line); } } } catch (IOException e) { logger.error("执行HTTP Post请求" + url + "时,发生异常!", e); } finally { try { responseBodyStream.close(); streamReader.close(); reader.close(); } catch (IOException e) { logger.error("执行HTTP Post请求" + url + "时,发生异常,关闭流异常!", e); e.printStackTrace(); } method.releaseConnection(); } return response.toString(); } public static void main(String[] args) { Map<String, String> params = new HashMap<String, String>(); params.put("key1", "测试"); params.put("key2", "123445"); HttpClientUtil.doPost("http://localhost:8080/test.do", params, "utf-8"); } }
相关jar包:commons-httpclient
相关推荐
利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。
利用这两个jar包,很简单的用java实现httpget和httppost请求。
java http-post form表单客户端请求代码,拿过去直接应用即可
java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...
用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient
java语言后台请求网站操作 java中main方法发送httpPost请求
java调用HTTP接口(Get请求和Post请求)
java代码发送JSON格式的httpPOST请求
java发送http/https请求(get/post)代码,java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
java后台实现 get post 提交.zip
java代码-使用java解决http POST请求的源代码 ——学习参考资料:仅用于个人学习使用!
Java发送http请求、https请求,post和get都支持
JAVA常用POST请求汇总,用于调用别人的接口
java HttpClient 发送GET请求和带有表单参数的POST请求教程例子
(完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc
本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...
java http-post xml格式客户端请求代码
java的get和post请求,获取json的工具类,https时会存在ssl校验的问题,工具会自动去除ssl校验。
java支持https的Post请求,采用SSLContext绕过https的安全证书校验,含实例main函数
java简单实现get,post通信