国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HTTP POST接口帶參數(shù)的HttpClient請求方法和調(diào)用

這篇具有很好參考價值的文章主要介紹了HTTP POST接口帶參數(shù)的HttpClient請求方法和調(diào)用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

接口自動化測試,今天遇到POST接口帶參數(shù),參數(shù)在url上,發(fā)現(xiàn)原來的工具類中沒有該方法,重新調(diào)試加上。

httpclient post傳參,# Java自動化框架,java,servlet,開發(fā)語言

?doPost方法如下:

    /**
     * 發(fā)送POST請求,帶請求參數(shù)
     * @param url 請求地址
     * @param headers 請求頭
     * @param params 請求params
     * @return getHttpClientResult getHttpClientResult方法
     */

    //public static String doPost(String url, JSONObject json,String token) {
    public  HttpClientResult doPost(String url, Map<String, String> headers,Map<String,String> params){
        CloseableHttpClient httpClient = null;
        CloseableHttpResponse httpResponse=null;
        HttpPost httpPost=null;
        HttpClientResult httpClientResult=null;
        //String result="";
        try {
            //1.創(chuàng)建httpClient對象
            //httpClient = HttpClients.createDefault();
            httpClient =createHttpsClient(filePath,passWord);
            // 創(chuàng)建訪問的地址
            URIBuilder uriBuilder = new URIBuilder(url);
            if (params != null) {
                Set<Map.Entry<String, String>> entrySet = params.entrySet();
                for (Map.Entry<String, String> entry : entrySet) {
                    uriBuilder.setParameter(entry.getKey(), entry.getValue());
                }
            }
            //2.創(chuàng)建httpPost對象
            httpPost = new HttpPost(uriBuilder.build());
            //httpPost = new HttpPost(url);
            //2.1對象設(shè)置請求頭
            //httpPost.setHeader("Content-Type", "application/json;charset=UTF-8");
            //httpPost.setHeader("Authorization",token);
            packageHeader(headers, httpPost);
            //2.2封裝請求參數(shù)
            //packageParam(params, httpPost);

            //2.3對象設(shè)置請求和傳輸超時時間
            RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(SOCKET_TIME_OUT).setConnectTimeout(CONNECT_TIME_OUT).build();
            httpPost.setConfig(requestConfig);
            //3.使用httpClient發(fā)起請求并響應獲取response
            /*
            httpResponse = httpClient.execute(httpPost);
            HttpEntity entity = httpResponse.getEntity();
            //4.解析響應,獲取數(shù)據(jù)
            //判斷狀態(tài)碼是否是200
            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                result = EntityUtils.toString(entity,ENCODING);
                //System.out.println(result);
            }
            //System.out.println(httpResponse.getStatusLine());
            //System.out.println(httpResponse.getStatusLine().getStatusCode());
            //System.out.println(httpResponse.getProtocolVersion());
            //System.out.println(HttpStatus.SC_OK);
            */
            httpClientResult=getHttpClientResult(httpResponse,httpClient,httpPost);
        }
        catch (Exception e){
            log.error(e.toString());
        }
        finally {
            //5.釋放資源
            release(httpResponse, httpClient);

        }
        return httpClientResult;
    }

調(diào)用:

        String appId="123456789";
        Map<String, String> headers=new HashMap<>();
        headers.put("Content-Type","application/json;charset=UTF-8");
        headers.put("Authorization","Bearer "+token);

    @Test
    public void c06_pluginDeployment() {
        for (ApiDataBean data : listExcel) {
            if (data.getApiName().trim().equals("pluginDeployment")) {
                HttpsClientUtils httpUtils = new HttpsClientUtils();
                String host=BaseRequest.getHost();//這里例如:https://IP
                String reqUrl = host + data.getUrl();   //https://IP+接口url
                System.out.println(reqUrl);
                HttpClientResult httpResult= null;
                try {
                    Map<String, String> params=new HashMap<>();
                    params.put("appId",appId);
                    System.out.println(appId);
                    httpResult = httpUtils.doPost(reqUrl, headers,params);
                } catch (Exception e) {
                    e.printStackTrace();
                    log.error(String.valueOf(e));
                }

                String resultContent = httpResult.getContent();
                //int code = JsonPath.read(resultContent, "$.code");
                log.info(resultContent);
            }
        }
    }

參考:

[Java 接口自動化框架]httpclient4.5.3(CloseableHttpClient) https的工具類HttpsClientUtils文章來源地址http://www.zghlxwxcb.cn/news/detail-741959.html

到了這里,關(guān)于HTTP POST接口帶參數(shù)的HttpClient請求方法和調(diào)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • Java HttpClient 實戰(zhàn) GET 與 POST 請求一網(wǎng)打盡

    在Java中, HttpClient 是進行HTTP通信的一個強大工具。它提供了簡單而靈活的API,可以輕松地發(fā)送HTTP請求并處理響應。在本篇博文中,我們將深入探討如何使用 HttpClient 執(zhí)行GET、POST等不同類型的HTTP請求。 首先,確保在項目的 pom.xml 文件中引入 HttpClient 的依賴: 讓我們從一個簡

    2024年01月17日
    瀏覽(24)
  • 基于 httpClient 請求 Https接口

    代碼如下,親測可用

    2024年01月20日
    瀏覽(43)
  • 【Angular中的HTTP請求】- HttpClient 詳解

    【Angular中的HTTP請求】- HttpClient 詳解

    ????????大多數(shù)前端應用都要通過 HTTP 協(xié)議與服務器通訊,才能下載或上傳數(shù)據(jù)并訪問其它后端服務。Angular 給應用提供了一個 HTTP 客戶端 API,也就是 @angular/common/http 中的 HttpClient 服務類。 ????????要想使用 HttpClient ,就要先導入 Angular 的 HttpClientModule 。一般都是在根

    2024年02月08日
    瀏覽(20)
  • java 遠程調(diào)用 httpclient 調(diào)用https接口 忽略SSL認證

    httpclient 調(diào)用https接口,為了避免需要證書,所以用一個類繼承DefaultHttpClient類,忽略校驗過程。下面是忽略校驗過程的代碼類:SSLClient? 然后再調(diào)用的遠程get、post請求中使用SSLClient 創(chuàng)建Httpclient ,代碼如下:

    2024年02月11日
    瀏覽(25)
  • HttpClient:HTTP GET請求的服務器響應輸出

    HttpClient:HTTP GET請求的服務器響應輸出

    前言 在現(xiàn)代軟件開發(fā)中,與網(wǎng)絡通信相關(guān)的技術(shù)變得愈發(fā)重要。Java作為一種強大而靈活的編程語言,提供了豐富的工具和庫,用于處理各種網(wǎng)絡通信場景。本文將聚焦在Java中使用HttpClient庫發(fā)送HTTP GET請求,并將服務器的響應數(shù)據(jù)進行輸出,同時加入代理服務器的配置,以應

    2024年02月20日
    瀏覽(25)
  • java調(diào)用http接口(get請求和post請求)

    1.http接口的格式如下: 圖片選擇失敗,我只能把數(shù)據(jù)貼出來,如果有不懂的可以問我哈。 http://localhost:8881/department/getDepartmentList接口數(shù)據(jù)如下:(請求方式是GET) http://localhost:8881/department/getDataById?id=3接口數(shù)據(jù)如下:(請求方式是POST) 2.需要引入的包有: 3.實現(xiàn)方法如下:

    2024年02月13日
    瀏覽(24)
  • 【微軟技術(shù)?!緾#.NET 使用 HttpClient 類發(fā)出 HTTP 請求

    創(chuàng)建 HttpClient 發(fā)出 HTTP 請求 處理 HTTP 響應 HTTP 錯誤處理 HTTP 代理 本文介紹如何使用? HttpClient ?類發(fā)出 HTTP 請求和處理響應。 ?重要 所有示例 HTTP 請求都以下面 URL 之一為目標: https://jsonplaceholder.typicode.com:用于測試和原型設(shè)計的免費虛設(shè) API。 https://www.example.com:此域用于

    2024年02月04日
    瀏覽(20)
  • postman,瀏覽器測試接口正常,HttpClient 調(diào)用就報錯

    postman,瀏覽器測試接口正常,HttpClient 調(diào)用就報錯

    一次奔潰的經(jīng)歷 事情是這樣的:第三方提供了一個接口需要對接,我就對接了,測試環(huán)節(jié)的時候怎么都調(diào)不通,各種排查,各方人員都動員了起來,就是沒有找到問題,下面把問題報錯的原因呈上: 就是報錯 508 ,返回一個空的 Response body. 剛開始出現(xiàn)這個問題,我懷疑是不

    2024年02月01日
    瀏覽(19)
  • Spring Boot進階(72):【教程】用Spring Boot和HttpClient實現(xiàn)高效的HTTP請求

    Spring Boot進階(72):【教程】用Spring Boot和HttpClient實現(xiàn)高效的HTTP請求

    ??隨著系統(tǒng)規(guī)模的不斷擴大和復雜度的提升,異步通信這種模式越來越被廣泛應用于各種分布式系統(tǒng)中。RocketMQ作為一個高性能、高可靠性、分布式消息隊列,得到了眾多企業(yè)的青睞。本文將介紹如何使用Spring Boot整合RocketMQ,實現(xiàn)異步通信。 ??那么,具體如何實現(xiàn)呢?這

    2024年02月09日
    瀏覽(31)
  • java基礎(chǔ) - 實現(xiàn)一個簡單的Http接口功能自動化測試框架(HttpClient + TestNG)

    java基礎(chǔ) - 實現(xiàn)一個簡單的Http接口功能自動化測試框架(HttpClient + TestNG)

    已知現(xiàn)在已經(jīng)用Spring boot框架搭建了一個簡單的web服務,并且有現(xiàn)成的Controller來處理http請求,以之前搭建的圖書管理服務為例,BookController的源碼如下: 在搭建一個Http接口功能自動化測試框架之前,我們需要思考幾個問題: 1、http請求的發(fā)送,使用什么實現(xiàn)? 2、接口返回的

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包