通过http接口进行批量post操作(json格式)

2023-05-16

//通过@Test或者main方法来进行    相关依赖

//poi


<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml-schemas</artifactId>
</dependency>  

//httpClient

<dependency>

<groupId>org.apache.httpcomponents</groupId>

<artifactId>httpclient</artifactId>

<version>4.5.2</version>

</dependency>

 

 

 

@Test
    public void testConfig() {
        try {

 //读取信息xlsx文件  该文件中有批量操作数据
            InputStream in = new FileInputStream("C:\\Users\\\\Desktop\\domain.xlsx");

//利用poi进行xlsx文件简析
            Workbook wb = WorkbookFactory.create(in);

//获取sheet
            Sheet sheet = wb.getSheetAt(0);

//获取第一行行数
            int rmin = sheet.getFirstRowNum();

//获取最后一行行数
            int rmax = sheet.getLastRowNum();

//构建map的set集合    去重处理
            Set<Map<String, String>> params = Sets.newHashSet();

//去除第一行(标题行)
            for (int i = rmin + 1; i <= rmax; i++) {

//获取每行内容
                Row row = sheet.getRow(i);

//获取当前行中第一个单元格内容
                Cell cell_0 = row.getCell(0);
                Map<String, String> map = Maps.newHashMap();
                map.put("id", cell_0.getStringCellValue());

//获取当前行中第二个单元格内容
                Cell cell_1 = row.getCell(1);
                map.put("name", cell_1.getStringCellValue());
                params.add(map);
            }
            int i = 0;
            for (Map<String, String> param : params) {
                Map<String, Object> jsonObject = new HashMap<>();
                jsonObject.put("id", param.get("id"));
                jsonObject.put("name", param.get("name"));    
                i++;
                System.out.println(i);

//访问的url
//                String post = post("url", jsonObject);
//                System.out.println("发起请求结束,操作结果={}" + post);
            }

        }catch (Exception e){
            System.out.println(e);
        }
    }

//post方法
    public static String post(String url, Map<String, Object> mapParam){

//创建httpClient对象
        HttpClient client = new DefaultHttpClient();

//创建HttpPost 对象
        HttpPost post = new HttpPost(url);

//添加cookie信息  根据需求

//post.addHeader(new BasicHeader("Cookie","111; JSESSIONID=222.s1"));
        String body = null;
        try {

//设置StringEntity对象,将map转换为json
            StringEntity s = new StringEntity(JsonUtils.toJSONString(mapParam), "UTF-8");
            s.setContentEncoding("UTF-8");
            s.setContentType("application/json");
            post.setEntity(s);

//执行post请求,返回响应体HttpResponse

            HttpResponse res = client.execute(post);

//查看响应码  200成功
            if(res.getStatusLine().getStatusCode() == HttpStatus.OK.value()){

//对响应数据进行处理
                HttpEntity entity = res.getEntity();
                body = entity != null ? EntityUtils.toString(entity) : null;
                System.out.println(body);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return body;
    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过http接口进行批量post操作(json格式) 的相关文章

随机推荐

  • 数据库的事务隔离级别总结

    学习数据库的时候常常会接触到事务 ACID等概念 xff0c 那么到底什么是数据库的事务 xff0c 数据库事务又具有哪些特点 xff0c 和ACID有怎样的关系 xff0c 事务的隔离级别又是做什么的呢 xff1f 事务及其四大特性 xf
  • ubuntu18 遇到libc6 版本冲突问题

    问题描述 xff1a You might want to run 39 apt fix broken install 39 to correct these The following packages have unmet depende
  • Linux 系统裁剪--制作一个最小化的Linux iso镜像

    1 前言 一直以来都想制作一个最小化的Linux系统 xff0c 这个小系统需要有常用的Linux 命令 xff0c 以及定制化的某些功能 可是由于种种原因一直没能实现 xff0c 最近终于有时间把它做了出来 本文所说的精简的Linux系统
  • git为单独的仓库设置提交的用户名

    在我们平时的学习中可能有这么一种需求 xff0c 在公司进行开发的时候 xff0c 一般会参与多个项目的开发 xff0c 而项目提交代码时 xff0c 一般请求情况下提供的用户都是同一个 xff0c 而我们为了方便可能会使用全局进行git
  • Ubuntu18.04安装Xfce桌面与VNC远程工具

    1 Xfce桌面的安装 Xfce是一款轻量级的桌面环境 xff0c 运行在类Unix操作系统 xff08 如Linux FreeBSD 和 Solaris xff09 上 xff0c 界面清爽美观且对用户友好 在安装Xfce前需要更新一下系
  • Nginx的临时文件权限问题

    问题 在重启了nginx发现部分较大的Post请求出现了500错误 xff0c 然后 xff0c 查看Nginx错误日志 xff0c 类似如下 xff1a nginx open 34 usr local nginx client body
  • Spring Security中启用CSRF防护(REST版)

    问题 之前文章 Spring Security 43 Spring Session Redis 43 JJWT 介绍了怎么使用Spring Security实现restful风格的登录api 现在 xff0c 我们在这个基础上面实现csrf
  • Android Editable

    简单记一下 xff0c 以前没怎么用过 EditText View的getText直接返回的就是 Editable 而 TextView则是getEditableText才返回 Editable 还有就是注释所说 Replaces the
  • Linux虚拟机断电后开机出现:Entering emeryency mode. Exit the shell to continue.

    在一台服务器上 xff0c 搭建了4个linux虚拟机 可是昨晚不知道怎么的 xff0c 公司断电 今早来的时候发现服务器关机了 然后开机 xff0c 启动虚拟机 xff0c 其中有一台启动不了 xff0c 提示信息如下 xff1a 解决方
  • Web标准和常用浏览器及其内核

    Web标准 Web标准是由W3C组织和其他标准化组织制定的一 系列标准的集合 W3C 万维网联盟 是国际最著名的标准化组织 Web标准的优点 xff1a 1 遵循Web标准除了可以让不同的开发人员写出的页面更标准 更统一 2 让Web的发展
  • java集合集锦_

    java集合集锦 文章目录 java集合集锦一 java集合框架图二 集合简介三 集合遍历四 Arraylist 与 LinkedList 区别 五 ArrayList 与 Vector 区别呢 六 要对集合更新操作时 xff0c Arra
  • java map转为实体类的方法

    一 自己定义方法 span class token keyword public span span class token keyword static span span class token generics function sp
  • oracle 一行转多行

    span class token keyword SELECT span substr span class token punctuation span PBTYPE span class token punctuation span i
  • MiroTik 路由器配置无线中继模式(超细教程)

    关于MikroTik 看一下百度百科中关于MikroTik的介绍吧 MikroTik成立于1995年 xff0c 总部位于拉脱维亚首都里加 xff0c 主要从事开发路由器和无线ISP系统 1997年RouterOS系统 xff0c 2002
  • springmvc项目,启动报错Context initialization failed

    错误描述如下 xff1a springmvc项目 tomcat启动报错 Context initialization failed org span class token punctuation span springframework
  • Spring 总结(学习+面试)

    Spring学习笔记 文章目录 Spring学习笔记1 0 概述1 1使用Spring框架的好处1 2特点 2 0体系结构3 0创建Spring java工程 xff08 eclipse xff09 4 0通过Spring创建对象的方式5
  • tomcat启动,报错Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]

    严重 RMI TCP Connection 3 127 0 0 1 org apache catalina core ContainerBase addChildInternal ContainerBase addChild start o
  • chrome扩展:manifest.json文件详解

    manifest json是扩展的配置文件 xff0c 指明了扩展的各种信息 一个manifest json格式如下 xff1a 必须的字段 3 个 34 name 34 34 MyExtension 34 扩展名称 34 version
  • 检测链表中是否存在回环(Java 版)

    检测链表中是否存在回环 xff0c 这里介绍两种方法 xff1a 快慢指针 xff1b HashSet 存储原理 xff1b 1 快慢指针 快慢指针检查 xff0c 就是定义两个指针 xff0c 一个走的快 xff0c 一个走的慢 xff0
  • 通过http接口进行批量post操作(json格式)

    通过 64 Test或者main方法来进行 相关依赖 poi lt dependency gt lt groupId gt org apache poi lt groupId gt lt artifactId gt poi lt artif