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请求。
总结来说,"httppost请求实例"的压缩包提供了一个Java实现HttpPost请求的实例,可以帮助开发者学习和理解如何在Java中发送HTTP POST请求,以及如何处理响应。对于进行Web服务调用、API测试或者数据交互的项目来说,...
首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将主要使用`HttpURLConnection`来演示,因为它内置在JDK中,无需额外引入依赖。 1. **创建HTTP...
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中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient或Spring的RestTemplate来实现POST请求。以下是一个使用`HttpURLConnection`的POST请求示例: ```java import java.io.OutputStream; ...
### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...
本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https连接、如何实现Post请求、如何处理SSL验证等内容。 在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于...
利用这两个jar包,很简单的用java实现httpget和httppost请求。
在Java中,实现HTTP POST请求并发送XML数据是常见的需求,尤其是在与Web服务进行交互时。下面将详细阐述如何使用Java来完成这一任务。 #### 1. 导入必要的库 首先,你需要导入处理网络请求、读取文件和处理流的...
java调用HTTP接口(Get请求和Post请求)
本文将详细介绍如何在Java中实现支持HTTPS的POST请求,包括如何处理SSL证书校验问题。 首先,理解HTTPS的工作原理至关重要。HTTPS基于SSL/TLS协议,它在HTTP层和TCP/IP层之间添加了一个安全层,用于加密数据传输并...
以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。
### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...
"JAVA利用HttpClient进行POST请求(HTTPS)" JAVA HttpClient是Apache软件基金会提供的一个开源实现HTTP客户端的Java库,能够帮助开发者轻松地与HTTP服务器进行交互。在实际项目中,我们经常需要使用HttpClient来发送...
本示例“HTTP_post.rar_java http post”聚焦于如何使用Java实现HTTP POST请求。以下是对这个主题的详细解释: HTTP POST方法是HTTP协议中的一个基本组成部分,它允许客户端(如浏览器或应用程序)向服务器发送数据...
总结来说,`HttpsUtils.java`是一个用于简化Java程序中HTTPS POST请求的工具类,它隐藏了复杂的SSL/TLS配置和HTTP连接管理,使得开发者可以更加专注于业务逻辑。在实际开发中,此类可以帮助提高代码的可读性和可维护...
本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...
总结,Java实现HTTP的GET和POST请求主要依赖于`HttpURLConnection`类。GET请求简单,直接连接并读取响应;POST请求需要设置输出,并写入请求数据。在处理网络请求时,我们还需要关注网络状态、超时、重试策略等问题...