`
dqm926
  • 浏览: 28089 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java 实现http post请求

    博客分类:
  • Java
阅读更多
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

分享到:
评论

相关推荐

    java实现httpget和httppost请求httpclient-4.3.1.jar包

    利用httpclient-4.3.1.jar、httpcore-4.3.jar包,很简单的用java实现httpget和httppost请求。

    httppost请求实例

    总结来说,"httppost请求实例"的压缩包提供了一个Java实现HttpPost请求的实例,可以帮助开发者学习和理解如何在Java中发送HTTP POST请求,以及如何处理响应。对于进行Web服务调用、API测试或者数据交互的项目来说,...

    java中main方法发送httpPost请求

    首先,Java中发送HTTP POST请求通常会用到`HttpURLConnection`类或者第三方库如Apache HttpClient或OkHttp。下面我们将主要使用`HttpURLConnection`来演示,因为它内置在JDK中,无需额外引入依赖。 1. **创建HTTP...

    HttpPost_from.java java http-post form表单客户端请求代码

    java http-post form表单客户端请求代码,拿过去直接应用即可

    java实现get请求post请求,文件传输

    java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...

    java发送httpPost请求实现

    用java编写了http Post的请求代码,通过发送请求的 URL,获取远程资源的响应结果,入参为json字符串。使用到httpPost,CloseableHttpClient

    java后台实现 get post 提交.zip

    在Java中,我们可以使用`HttpURLConnection`或者第三方库如Apache HttpClient或Spring的RestTemplate来实现POST请求。以下是一个使用`HttpURLConnection`的POST请求示例: ```java import java.io.OutputStream; ...

    java代码发送JSON格式的httpPOST请求

    ### Java代码发送JSON格式的HTTP POST请求:深入解析与实现 在现代的Web开发中,JSON(JavaScript Object Notation)已成为数据交换的标准格式之一,因其轻量级、易读性及跨平台兼容性而受到广泛青睐。对于Java...

    java实现httpget和httppost请求jar包

    利用这两个jar包,很简单的用java实现httpget和httppost请求。

    Https请求工具类,Java实现http请求,https请求

    本篇文章将详细介绍如何使用Java语言实现Http和Https请求的工具类,包括如何建立Https连接、如何实现Post请求、如何处理SSL验证等内容。 在Java中,使用HttpURLConnection类可以实现Http和Https请求,但是对于...

    JAVA postxml

    在Java中,实现HTTP POST请求并发送XML数据是常见的需求,尤其是在与Web服务进行交互时。下面将详细阐述如何使用Java来完成这一任务。 #### 1. 导入必要的库 首先,你需要导入处理网络请求、读取文件和处理流的...

    java通过HTTP调用接口(Get请求和Post请求)

    java调用HTTP接口(Get请求和Post请求)

    java发送http/https请求(get/post)Demo,亲测可用

    以上就是Java中发送HTTP/HTTPS GET和POST请求的基本概念,以及处理JSON数据的方法。在实际应用中,还需要考虑错误处理、性能优化和其他安全因素。如果需要更复杂的功能,建议使用成熟的HTTP客户端库。

    java支持https的Post请求

    本文将详细介绍如何在Java中实现支持HTTPS的POST请求,包括如何处理SSL证书校验问题。 首先,理解HTTPS的工作原理至关重要。HTTPS基于SSL/TLS协议,它在HTTP层和TCP/IP层之间添加了一个安全层,用于加密数据传输并...

    (完整版)JAVA利用HttpClient进行POST请求(HTTPS).doc

    "JAVA利用HttpClient进行POST请求(HTTPS)" JAVA HttpClient是Apache软件基金会提供的一个开源实现HTTP客户端的Java库,能够帮助开发者轻松地与HTTP服务器进行交互。在实际项目中,我们经常需要使用HttpClient来发送...

    java HttpClient 发送GET请求和带有表单参数的POST请求教程例子

    ### Java HttpClient 发送GET请求和带有表单参数的POST请求详解 #### 一、概述 在Java编程中,处理HTTP请求是一项常见的需求,特别是在与Web服务进行交互时。Apache HttpClient库提供了一种强大的方法来执行HTTP...

    HTTP_post.rar_java http post

    本示例“HTTP_post.rar_java http post”聚焦于如何使用Java实现HTTP POST请求。以下是对这个主题的详细解释: HTTP POST方法是HTTP协议中的一个基本组成部分,它允许客户端(如浏览器或应用程序)向服务器发送数据...

    Java Https工具类,Java Https Post请求

    总结来说,`HttpsUtils.java`是一个用于简化Java程序中HTTPS POST请求的工具类,它隐藏了复杂的SSL/TLS配置和HTTP连接管理,使得开发者可以更加专注于业务逻辑。在实际开发中,此类可以帮助提高代码的可读性和可维护...

    JAVA发送POST请求,如何使用JAVA发送POST请求

    本资源库提供了一份完整的JAVA客户端发送POST请求的示例代码,可以帮助您快速了解如何使用JAVA客户端发送POST请求,同时也适用于其他HTTP请求类型。 我们的示例代码包括以下主要部分: 创建HTTP连接:使用Java.net...

    java 实现get,post请求

    总结,Java实现HTTP的GET和POST请求主要依赖于`HttpURLConnection`类。GET请求简单,直接连接并读取响应;POST请求需要设置输出,并写入请求数据。在处理网络请求时,我们还需要关注网络状态、超时、重试策略等问题...

Global site tag (gtag.js) - Google Analytics