欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用云片API發(fā)送短信驗(yàn)證碼

 更新時(shí)間:2017年02月09日 10:47:49   投稿:mrr  
這篇文章主要介紹了Java使用云片API發(fā)送短信驗(yàn)證碼,主要用的是Java實(shí)現(xiàn)短信驗(yàn)證碼。需要的朋友可以參考下

下面開始介紹的是如何利用機(jī)器完成批量操作,將短信業(yè)務(wù)自動(dòng)化。

獲取APIKEY

云片網(wǎng)提供了完整的SDK和API,可以幫助開發(fā)者快速完成業(yè)務(wù)開發(fā)。

在開始Coding前,需要先獲取APIKEY,如下所示。

獲取APIKEY

點(diǎn)擊眼睛按鈕后,輸入驗(yàn)證碼,就可以查看APIKEY了。

這里需要說明的是,APIKEY特別重要,一定要保護(hù)好它,避免泄露。云片這邊提供了幾重保護(hù)機(jī)制,例如驗(yàn)證、敏感處理、子賬號(hào)獨(dú)立APIKEY等,看得出來他們的安全意識(shí)還是挺不錯(cuò)的。

開始Coding

有了APIKEY,就可以直接開始Coding了。

最主要的接口就是這三個(gè),單條發(fā)送接口、批量發(fā)送接口批量個(gè)性化發(fā)送接口。搞清楚這三個(gè)接口后,其它的開發(fā)基本就是信手拈來了。

單條發(fā)送接口

* 單條短信發(fā)送,智能匹配短信模板
 *
 * @param apikey 成功注冊(cè)后登錄云片官網(wǎng),進(jìn)入后臺(tái)可查看
 * @param text  需要使用已審核通過的模板或者默認(rèn)模板
 * @param mobile 接收的手機(jī)號(hào),僅支持單號(hào)碼發(fā)送
 * @return json格式字符串
 */
public static String singleSend(String apikey, String text, String mobile) {
  Map<String, String> params = new HashMap<String, String>();//請(qǐng)求參數(shù)集合
  params.put("apikey", apikey);
  params.put("text", text);
  params.put("mobile", mobile);
  return post("https://sms.yunpian.com/v2/sms/single_send.json", params);//請(qǐng)自行使用post方式請(qǐng)求,可使用Apache HttpClient
}

這其中,APIKEY是從云片后臺(tái)獲得的。

例如我要給1888888888這個(gè)號(hào)碼發(fā)送,代碼如下:

String apikey = fx33mio3561dah34jdk748vz9dkfjkd373zdfg28df43dfhjadj;
String text = "[云片網(wǎng)] 您的短信驗(yàn)證碼是 1234";
String mobile = 18888888888;
testSendSms(apikey, text, mobile);

這樣一條短信就發(fā)送出去了。詳細(xì)的介紹可以看這里。

批量發(fā)送接口

也可以給多個(gè)手機(jī)號(hào)發(fā)送相同內(nèi)容的短信,代碼如下:

/**
 * 批量發(fā)送短信,相同內(nèi)容多個(gè)號(hào)碼,智能匹配短信模板
 *
 * @param apikey 成功注冊(cè)后登錄云片官網(wǎng),進(jìn)入后臺(tái)可查看
 * @param text  需要使用已審核通過的模板或者默認(rèn)模板
 * @param mobile 接收的手機(jī)號(hào),多個(gè)手機(jī)號(hào)用英文逗號(hào)隔開
 * @return json格式字符串
 */
public static String batchSend(String apikey, String text, String mobile) {
  Map<String, String> params = new HashMap<String, String>();//請(qǐng)求參數(shù)集合
  params.put("apikey", apikey);
  params.put("text", text);
  params.put("mobile", mobile);
  return post("https://sms.yunpian.com/v2/sms/batch_send.json", params);//請(qǐng)自行使用post方式請(qǐng)求,可使用Apache HttpClient
}

多個(gè)手機(jī)號(hào)之間使用逗號(hào)分隔,mobile可以這樣賦值

String mobile = "1888888888, 1234567890, 9876543210"

詳細(xì)的說明可以參看這里。

批量個(gè)性化發(fā)送接口

很多時(shí)候,我們遇到的需求沒有那么簡(jiǎn)單,經(jīng)常要給不同的手機(jī)號(hào)發(fā)送不同的內(nèi)容,而云片也提供了對(duì)應(yīng)的API。

/**
 * 批量個(gè)性化發(fā)送
 */
public static String multiSend() throws UnsupportedEncodingException {
  Map<String, String> params = new HashMap<String, String>();//請(qǐng)求參數(shù)集合
  params.put("apikey", "your apikey");
  params.put("text", java.net.URLEncoder.encode("【云片網(wǎng)】您的驗(yàn)證碼是1234", "UTF-8") + ","
      + java.net.URLEncoder.encode("【云片網(wǎng)】您的登錄碼是8888", "UTF-8"));
  params.put("mobile", "13812345678,18888888888");
  return post("https://sms.yunpian.com/v2/sms/multi_send.json", params);//請(qǐng)自行使用post方式請(qǐng)求,可使用Apache HttpClient
}

上面這段代碼的結(jié)果就是第一條短信"【云片網(wǎng)】您的驗(yàn)證碼是1234"發(fā)給了13812345678,第二條短信"【云片網(wǎng)】您的登錄碼是8888"發(fā)給了18888888888,當(dāng)然這樣的實(shí)現(xiàn)方式還是看起來很蠢,不過不用擔(dān)心,云片網(wǎng)還提供了變量模板,只要替換模板中對(duì)應(yīng)的變量部分,就可以輕松實(shí)現(xiàn)給多個(gè)號(hào)碼發(fā)送不同的短信內(nèi)容,關(guān)于變量模板,以后可以再多聊聊,反正他完美執(zhí)行了設(shè)計(jì)模式中OCP原則,簡(jiǎn)直經(jīng)典。

更詳細(xì)的介紹,可以看這里。

這篇文章主要用的是Java實(shí)現(xiàn)短信驗(yàn)證碼,以后還會(huì)寫一篇PHP實(shí)現(xiàn)短信驗(yàn)證碼的,如果等不及了,云片的文檔中也有對(duì)PHP的說明,可以先睹為快。

相關(guān)文章

  • Mybatis使用連表查詢的操作代碼

    Mybatis使用連表查詢的操作代碼

    這篇文章主要介紹了Mybatis如何使用連表查詢,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • JavaWeb實(shí)現(xiàn)文件上傳與下載的方法

    JavaWeb實(shí)現(xiàn)文件上傳與下載的方法

    這篇文章主要介紹了JavaWeb實(shí)現(xiàn)文件上傳與下載的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù)

    Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù)

    這篇文章主要介紹了Java Runnable線程傳參,實(shí)現(xiàn)讓run訪問參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Spring?中的InitializingBean使用示例

    Spring?中的InitializingBean使用示例

    InitializingBean?是?Spring?框架中的一個(gè)接口,用于在?Spring?容器中初始化?bean?時(shí)執(zhí)行特定的初始化邏輯,這篇文章主要介紹了Spring?中的InitializingBean使用示例,需要的朋友可以參考下
    2024-08-08
  • Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例

    Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例

    這篇文章主要介紹了Java 中String StringBuilder 與 StringBuffer詳解及用法實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java代碼重用之功能與上下文重用

    Java代碼重用之功能與上下文重用

    代碼重用通常使得程序開發(fā)更加快速,并使得 BUG 減少。一旦一段代碼被封裝和重用,那么只需要檢查很少的一段代碼即可確保程序的正確性。接下來通過本文給大家介紹Java代碼重用之功能與上下文重用的相關(guān)知識(shí),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-05-05
  • 一文吃透Spring?Cloud?gateway自定義錯(cuò)誤處理Handler

    一文吃透Spring?Cloud?gateway自定義錯(cuò)誤處理Handler

    這篇文章主要為大家介紹了一文吃透Spring?Cloud?gateway自定義錯(cuò)誤處理Handler方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Spring單數(shù)據(jù)源的配置詳解

    Spring單數(shù)據(jù)源的配置詳解

    spring數(shù)據(jù)源的配置網(wǎng)絡(luò)上有很多例子,這里我也來介紹一下單數(shù)據(jù)源配置的例子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java中的Object類詳細(xì)解讀

    Java中的Object類詳細(xì)解讀

    這篇文章主要介紹了Java中的Object類詳細(xì)解讀,java.lang.Object是類層次結(jié)構(gòu)的根類,即所有其它類的父類,每個(gè)類都使用 Object 作為超類,需要的朋友可以參考下
    2023-11-11
  • springboot關(guān)于容器啟動(dòng)事件總結(jié)

    springboot關(guān)于容器啟動(dòng)事件總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于springboot容器啟動(dòng)事件相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-10-10

最新評(píng)論