1. 程式人生 > >通過http介面進行批量post操作(json格式)

通過http介面進行批量post操作(json格式)

//通過@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;
    }

相關推薦

通過http介面進行批量post操作json格式

//通過@Test或者main方法來進行    相關依賴 //poi <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</ar

thinkphp+layui,在父頁面對彈窗中的控制元件進行賦值操作傳值

問題描述:點選評論回覆按鈕->彈出表單輸入框->對所點選的按鈕進行回覆評論->提交回復。這裡遇到的問題就是怎麼通過layer建立一個彈窗並把這個需要操作的id值傳到iframe彈出層。解決:點選當前條需要回復的評論並獲取到這個評論的id值,在點選回覆按鈕是用

python程式設計練習----對檔案進行簡單的操作讀寫

python對檔案進行簡單的操作(讀寫) 基於python3.6 程式碼: #開啟檔案及讀寫方法 f=open(r'C:\Users\lenovo\Desktop\somefile.txt','w') f.write("hello world!") f.write("\

iOS 利用GPUImage 進行影象處理操作入門篇

影象入門處理GPUImage (適合剛接觸影象處理人的使用) 總結:共六部 建立處理樣式的物件 設定樣式的屬性 獲取要進行操作的資料來源 *增加濾鏡 開始渲染 建立渲染之後的圖片 並展示出 程式碼塊 以對影象處理懷舊樣式為例,例如:

如何在關閉web服務時進行一些清理操作Spring mvc

背景 目前正在替一家500強企業開發系統,因為系統眾多所以他們使用ESB對各個系統之間的服務進行管理,同樣也要求我們的系統進行對接。要求在我們的系統啟動時進行註冊,在系統關閉時進行登出。根據要求同事寫了一個serverlet在系統啟動的時候進行註冊操作,但是不知道在系統關閉

伺服器介面呼叫日誌檔案記錄格式

/** * * @Title: writeLocationLog * @Description: 伺服器上寫入操作日誌 * @param type "input"表示入參,“output”表示出參 * @param xml 具體的出入參資訊 * @para

中國天氣網apijson格式

{ "weatherinfo": { "city": "哈爾濱", // 城市中文名 "city_en": "haerbin", // 城市英文名 "date_y": "2012年8月18日", // 釋出日期

世界國家中英文對照表json格式

世界國家中英文對照表 { “Afghanistan”:”阿富汗”, “Aland Islands”:”奧蘭群島”, “Albania”:”阿爾巴尼亞”, “Algeria”:”阿爾及利亞”, “American Samoa”:”美

SIM800A模組進行HTTP的GET和POST操作

一、設定http引數命令 AT+CGATT? +CGATT: 1 OK AT+SAPBR=3,1,"CONTYPE","GPRS"  OK AT+SAPBR=3,1,"APN","CMNET" OK AT+SAPBR=1,1   OK 1.HTTP中的GET操作 AT+HT

Mapper通過實現介面進行增加和檢視操作

首先,為了避免開啟sql會話的準備工作多次進行,採用靜態方法,對準備工作靜態初始化,建立一個BaseDAO類: ---------------------------------------------程式碼開始------------------------------------------

Java中怎樣實現批量刪除操作Java對資料庫進行事務處理?

本人開發的一個安卓版app小遊戲,瘋狂猜明星android版,圖示看起來很搞笑,有點京劇變臉的味道。朋友們小手一抖,下載支援下。謝謝了 本文是記錄Java中實現批量刪除操作(Java對資料庫進行事務處理),在開始之前先來看下面這樣的一個頁面圖:  上面這張圖片顯示的是從

求較大整數n的階乘,因為n較大時,n的階乘超出了正常類型的表示範圍,可以采用數組進行操作c實現

c語言 n階乘下面鏈接是java的實現,思路叫清晰點http://blog.51cto.com/6631065/2044441 #include <stdio.h> void Print_Factorial ( const int N ); int main() { int N; sc

求較大整數n的階乘,因為n較大時n的階乘超出了正常類型的表示範圍,采用數組進行操作java實現

階乘 大數字package net.yk.mlgorithm; /** * 求較大數的階乘 * @author Administrator * * @param <T> */ public class ArraysMul<T> { public static void

C#中對sqlserver進行增刪改查操作簡單易懂

uid 數據連接 net cti ade 密碼 logs where Go 1、添加引用using System.Data;using System.Data.SqlData;2、建立於數據庫的連接,建議將它做成一個方法,方便多次利用。string sqlconnectio

在centos7上就對新添加的硬盤進行分區掛載等操作 實驗自用

and known 是否 guid ima .com exit 一次 clas ??1.在虛擬機上添加一個新的硬盤 ??2. 為了讓在系統裏能夠顯示新添加的硬盤已知有兩種操作方法? ? ? ? ?1.重啟? ? ? ? 2.輸入 echo "- - -&quo

WiFi-ESP8266入門http3-1網頁認證上網-post請求原教程

nts 時空 logo 全能 targe work sig html urn 教程:http://geek-workshop.com/thread-37484-1-1.html 源碼:鏈接:https://pan.baidu.com/s/1yuYYqsM-WSOb0Aby

不連線usb對手機進行操作設定步驟

import subprocess import re #1.電腦和手機連線的wifi處於同一個網段;2.手機連線usb後執行指令碼。斷開usb可繼續操作手機 class Connection(object): def connect_adb_tcpip(self): a

jsp中對資料進行批量刪除操作

批量刪除的SQL:delete from user where uid in(主鍵列表);  UserBiz:  //批量刪除  public boolean batchDelete(String[] uids);  UserBizImpl: public

對非同步處理的http介面進行效能測試

對非同步處理的http介面進行效能測試 以前對介面做效能測試,介面都是同步處理的,請求之後等待響應結果就知道處理結果了,這樣只要看這個介面是否異常,如果無異常無報錯記錄這個介面的響應時間、TPS等效能指標進行分析就可以了,最近在工作中遇到了非同步處理的介面,邏輯是隻要你請求引數全部合法,即返回成

Android短視訊開發中通過點選進行的命令操作所需原始碼合集

在短視訊操作中,“點選識別命令”的操作是非常常見的,幾乎一切命令都需要靠使用者點選來實現,因此,在Android短視訊開發中,雙擊點贊,點選評論、關注、分享,點選頭像進入主頁功能都是最常見的功能。 接下來,我將從程式碼的角度為大家展現這些功能的實現方式:   【雙擊點贊】通過此