Java代码发送post请求实现方式

 更新时间:2026年05月09日 10:03:04   作者:胡大可呀  
本文介绍了使用Java发送POST请求的方法,包括引用工具类、设置访问地址、请求头和json请求体,最后使用工具类发送请求并返回结果

使用Java代码访问对应连接,并发送json格式数据,post请求。

1、首先引用工具类HttpClientUtil

/*
 * 利用HttpClient进行post请求的工具类
 */
public class HttpClientUtil {
    public String doPost(String url, Map<String, String> headerMap, String jsonText, String charset) {
        HttpClient httpClient = null;
        HttpPost httpPost = null;
        String result = null;
        InputStream in = null;
        try {
            httpClient = SSLClientFactory.createSSLClientDefault();
            httpPost = new HttpPost(url);
            // 设置参数
            Iterator<Entry<String, String>> iterator = headerMap.entrySet().iterator();
            Entry<String, String> elem = null;
            while (iterator.hasNext()) {
                elem = iterator.next();
                httpPost.addHeader(elem.getKey(), elem.getValue());
            }
            if (StringUtils.isNotBlank(jsonText)) {
                byte[] bytes = jsonText.getBytes(HTTP.UTF_8);
                ByteArrayEntity se = new ByteArrayEntity(bytes);
                httpPost.setEntity(se);
            }
            HttpResponse response = httpClient.execute(httpPost);
            if (response != null) {
                HttpEntity resEntity = response.getEntity();
                if (resEntity != null) {
                    in=resEntity.getContent();
                    result = EntityUtils.toString(resEntity, charset);
                }
            }
        } catch (Exception ex) {
        }
        finally
        {
            if (in != null){
                try
                {
                    in.close ();
                }
                catch (IOException e)
                {
                    e.printStackTrace ();
                }
            }
        }
        return result;
    }
}

2、获取 访问地址、请求头、json格式的请求体

        //获取接口地址
        String url="http://external.rmcp-zsh.bosafe.com/api/v1/ztexternal/user/change";
        //获取请求头
        Map<String, String> headerMap = new HashMap<String, String>();
        headerMap.put("appId", appId);
        headerMap.put("randomNumber",s);
        headerMap.put("timestamp", strTime);
        headerMap.put("signature", w );
        headerMap.put("Content-Type", "application/json");
        //获取请求体
        JSONObject obj = new JSONObject();
        obj.put("appId", appId);
        //将待同步对象集合转换为json数据
        JSONArray userList = JSONUtil.parseArray(split);
        //设置请求体参数
        obj.put("userList",userList);

3、利用工具类HttpClientUtil 访问 并返回结果

HttpClientUtil httpClientUtil = new HttpClientUtil();
//发送post请求
String results = httpClientUtil.doPost(url, headerMap, obj.toJSONString(), Constants.UTF8);
//返回结果
JSONObject resultJson = JSONObject.parseObject(results);
String status =resultJson.getString("status");

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Maven如何解决添加依赖之后没有加载jar包报错问题

    Maven如何解决添加依赖之后没有加载jar包报错问题

    这篇文章主要介绍了Maven如何解决添加依赖之后没有加载jar包报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Idea插件MybatisX失效的问题解决

    Idea插件MybatisX失效的问题解决

    这篇文章主要介绍了Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下
    2025-05-05
  • Java的Arrays.sort()方法排序算法实例分析

    Java的Arrays.sort()方法排序算法实例分析

    网上看过很多JDK8中Arrays.sort的底层原理,有些说是插入排序,有些说是归并排序,也有说大于域值用计数排序法,否则就使用插入排序,这种说法到底对吗?下面通过本文给大家分析下Java的Arrays.sort()方法到底用的什么排序算法,感兴趣的朋友一起看看吧
    2022-02-02
  • 详解Java中使用externds关键字继承类的用法

    详解Java中使用externds关键字继承类的用法

    子类使用extends继承父类是Java面向对象编程中的基础知识,这里我们就来详解Java中使用externds关键字继承类的用法,需要的朋友可以参考下
    2016-07-07
  • JeecgBoot代码生成器自定义请求接口实例

    JeecgBoot代码生成器自定义请求接口实例

    文章介绍了如何在使用代码生成器生成的页面中添加启用/停用功能,通过修改List.vue页面并添加必要的请求头token来解决身份认证失败的问题,同时,还讲述了如何在菜单管理、角色管理中进行权限配置,以确保按钮功能生效
    2026-01-01
  • 解决@ResponseBody作用在返回类型为String的方法时的坑

    解决@ResponseBody作用在返回类型为String的方法时的坑

    这篇文章主要介绍了解决@ResponseBody作用在返回类型为String的方法时的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • java实现基因序列比较的示例代码

    java实现基因序列比较的示例代码

    这篇文章主要介绍了java实现基因序列比较的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • SpringBoot应用自定义logback日志详解

    SpringBoot应用自定义logback日志详解

    默认情况下,SpringBoot内部使用logback作为系统日志实现的框架,将日志输出到控制台,不会写到日志文件。本篇文章主要讲解下如何自定义logabck.xml以及对logback文件中配置做一个详解,需要的可以参考一下
    2022-10-10
  • java实现通过绑定邮箱找回密码功能

    java实现通过绑定邮箱找回密码功能

    这篇文章主要为大家详细介绍了java实现通过绑定邮箱找回密码功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • Spring之底层架构核心概念Environment及用法详解

    Spring之底层架构核心概念Environment及用法详解

    这篇文章主要介绍了Spring之底层架构核心概念-Environment,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12

最新评论