最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java發(fā)送http請求調(diào)用第三方接口獲取token方式

 更新時間:2023年07月15日 16:40:55   作者:是小帥吖i  
這篇文章主要介紹了Java發(fā)送http請求調(diào)用第三方接口獲取token方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java發(fā)送http請求調(diào)用第三方接口獲取token

最近在做項目對接,因為要頻繁調(diào)用第三方的接口,所以就整理了一下代碼

話不多說直接上代碼

 public static String httpURLConnectionPOST (String url, String data) {
        StringBuffer strBf = new StringBuffer();
        try {
            URL realUrl = new URL(url);
            //將realUrl以 open方法返回的urlConnection  連接強轉(zhuǎn)為HttpURLConnection連接  (標(biāo)識一個url所引用的遠程對象連接)
            HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();// 此時cnnection只是為一個連接對象,待連接中
            //設(shè)置連接輸出流為true,默認(rèn)false (post請求是以流的方式隱式的傳遞參數(shù))
            connection.setDoOutput(true);
            //設(shè)置連接輸入流為true
            connection.setDoInput(true);
            //設(shè)置請求方式為post
            connection.setRequestMethod("POST");
            //post請求緩存設(shè)為false
            connection.setUseCaches(false);
            //設(shè)置該HttpURLConnection實例是否自動執(zhí)行重定向
            connection.setInstanceFollowRedirects(true);
            //設(shè)置請求頭里面的各個屬性 (以下為設(shè)置內(nèi)容的類型,設(shè)置為經(jīng)過urlEncoded編碼過的from參數(shù))
            connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
            //建立連接 (請求未開始,直到connection.getInputStream()方法調(diào)用時才發(fā)起,以上各個參數(shù)設(shè)置需在此方法之前進行)
            connection.connect();
            //創(chuàng)建輸入輸出流,用于往連接里面輸出攜帶的參數(shù),(輸出內(nèi)容為?后面的內(nèi)容)
            DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());
            String query = data.toString();
            //將參數(shù)輸出到連接
            dataout.write(query.getBytes("UTF-8"));
            // 輸出完成后刷新并關(guān)閉流
            dataout.flush();
            dataout.close(); // 重要且易忽略步驟 (關(guān)閉流,切記!)
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
            String lines;
            while ((lines = reader.readLine()) != null) {
                lines = new String(lines.getBytes(), "utf-8");
                strBf.append(lines);
            }
            reader.close();
            connection.disconnect();
            System.out.println("返回數(shù)據(jù):"+strBf.toString());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return strBf.toString();
    }

測試

自己寫一個main方法進行測試

  public static void main(String[] args) {
        String strJson = httpURLConnectionPOST("URL","data");
        JSONObject jsonObject = JSONObject.parseObject(strJson);
        System.out.println("json"+jsonObject);
    }

返回數(shù)據(jù)為json類型

如何減少使用第三方接口調(diào)用是token的獲得

我們開發(fā)經(jīng)常會遇到要使用第三方的接口,且這些接口都需要在請求頭上帶上Authorization - Bearer token這樣的驗證信息;

假如我們每次都獲取token那會導(dǎo)致每次都會生成新的token,增加了調(diào)用次數(shù);

減少調(diào)用次數(shù)的辦法

在登錄的時候獲取token(這個時候類中就賦值token),再把token存儲進redis(判斷過期)

步驟:

1.定義獲取第三方token的類,定義一個屬性為sxtoken;

2.在獲取第三方token的類中定義獲得token的方法,然后賦值給屬性sxtoken;

3.在登錄方法中,吧第三方接口的token存儲進Redis中;

4.在獲取第三方token的類中定義判斷屬性sxtoken為空的時候,從緩存獲得的方法;

5.調(diào)用第三方接口的時候都先試用第4步,防止sxtoken為null

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Java將實體類轉(zhuǎn)換為JSON并輸出到控制臺的完整過程

    使用Java將實體類轉(zhuǎn)換為JSON并輸出到控制臺的完整過程

    在軟件開發(fā)的過程中,Java是一種廣泛使用的編程語言,而在眾多應(yīng)用中,數(shù)據(jù)的傳輸和存儲經(jīng)常需要使用JSON格式,用Java將實體類轉(zhuǎn)換為JSON格式并輸出其實不難,只需掌握幾個步驟就可以做到!接下來,我們來看看這一過程究竟是如何實現(xiàn)的,感興趣的小伙伴跟著小編一起來看看吧
    2025-05-05
  • Java中的分布式事務(wù)Seata詳解

    Java中的分布式事務(wù)Seata詳解

    這篇文章主要介紹了Java中的分布式事務(wù)Seata詳解,Seata 是一款開源的分布式事務(wù)解決方案,致力于提供高性能和簡單易用的分布式事務(wù)服務(wù),Seata 將為用戶提供了 AT、TCC、SAGA 和 XA 事務(wù)模式,為用戶打造一站式的分布式解決方案,需要的朋友可以參考下
    2023-08-08
  • 使用IDEA創(chuàng)建SpringBoot項目的方法步驟

    使用IDEA創(chuàng)建SpringBoot項目的方法步驟

    這篇文章主要介紹了使用IDEA創(chuàng)建SpringBoot項目的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • SpringBoot整合RabbitMQ實現(xiàn)延遲隊列的示例詳解

    SpringBoot整合RabbitMQ實現(xiàn)延遲隊列的示例詳解

    這篇文章主要為大家詳細介紹了SpringBoot如何整合RabbitMQ實現(xiàn)延遲隊列,文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,感興趣的可以了解一下
    2023-04-04
  • java使用Base64實現(xiàn)文件加密解密

    java使用Base64實現(xiàn)文件加密解密

    這篇文章主要為大家詳細介紹了java實現(xiàn)Base64給文件加密、解密,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Java局部內(nèi)部類和匿名內(nèi)部類定義與用法實例分析

    Java局部內(nèi)部類和匿名內(nèi)部類定義與用法實例分析

    這篇文章主要介紹了Java局部內(nèi)部類和匿名內(nèi)部類,結(jié)合實例形式分析了java局部內(nèi)部類和匿名內(nèi)部類相關(guān)定義、原理與用法,需要的朋友可以參考下
    2019-08-08
  • 了解Java線程池創(chuàng)建過程

    了解Java線程池創(chuàng)建過程

    那么有沒有一種辦法使得線程可以復(fù)用,就是執(zhí)行完一個任務(wù),并不被銷毀,而是可以繼續(xù)執(zhí)行其他的任務(wù)?在Java中可以通過線程池來達到這樣的效果。下面我們來詳細了解一下吧
    2019-05-05
  • Spring jdbc具名參數(shù)使用方法詳解

    Spring jdbc具名參數(shù)使用方法詳解

    這篇文章主要介紹了Spring jdbc具名參數(shù)使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • JAVA匿名內(nèi)部類語法分析及實例詳解

    JAVA匿名內(nèi)部類語法分析及實例詳解

    這篇文章主要介紹了JAVA匿名內(nèi)部類語法分析及實例詳解,匿名內(nèi)部類可以使你的代碼更加簡潔,它與局部類很相似,不同的是它沒有類名,如果某個局部類你只需要用一次,那么你就可以使用匿名內(nèi)部類。對此感興趣的可以了解一下
    2020-07-07
  • SpringBoot使用Spring-Data-Jpa實現(xiàn)CRUD操作

    SpringBoot使用Spring-Data-Jpa實現(xiàn)CRUD操作

    這篇文章主要為大家詳細介紹了SpringBoot使用Spring-Data-Jpa實現(xiàn)CRUD操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08

最新評論

巴青县| 鄂伦春自治旗| 盐边县| 栖霞市| 巫山县| 囊谦县| 玉田县| 南澳县| 来宾市| 盐城市| 石景山区| 城市| 金阳县| 贵德县| 库尔勒市| 阳城县| 平乡县| 山阳县| 仁寿县| 福建省| 定襄县| 万源市| 乌拉特中旗| 宁城县| 龙山县| 阜新市| 安仁县| 连城县| 新竹县| 浠水县| 久治县| 潞城市| 云安县| 锡林浩特市| 榕江县| 山东省| 满洲里市| 东平县| 安多县| 青铜峡市| 建始县|