使用java實現(xiàn)手機短信驗證全過程
一、容聯(lián)云平臺
容聯(lián)云平臺是實現(xiàn)短信驗證、還有語音功能等一些操作的平臺,在平臺注冊還可以獲得8元的新手額度,一條短信的費用是006元,也就是6分錢,在初學者測試也是可以非常人性化的,然后我這次進行測試的平臺呢,也是用到容聯(lián)云給進行展示

二、操作教程
2.1注冊

當你注冊進去之后會有8元的新手額度
填寫測試號碼

然后這里差不多了跟著下面走著
三、實踐操作
3.1部署項目使用工具
本次使用的工具是IDEA,然后我為了簡便就直接創(chuàng)建了Maven項目進行開發(fā),因為使用到Maven之后是直接導入SDK的依賴即可,就不需要管jar包了
3.2具體操作
3.2.1、Maven依賴
<dependencies>
<dependency>
<groupId>com.cloopen</groupId>
<artifactId>java-sms-sdk</artifactId>
<version>1.0.3</version>
</dependency>
</dependencies>
3.2.2、不使用Maven獲取JAR包方式
容聯(lián)云通訊——開發(fā)文檔——下載(短信Demo下載)——SDK參考(JAVA SDK文檔)注:不使用maven時需要下載jar包,點擊JAVA SMS SDK進入maven下載即可
四、測試
4.1、示例代碼
在容聯(lián)云已經(jīng)有了測試的示例,但是我們還需要稍作修改
下面為SDK的示例示例代碼

這些代碼我們可以直接復制過去,等下直接進行使用,當然要注意幾點的地方
4.2、修改步驟
4.2.1、容聯(lián)云的相關賬號信息

這三個里面的數(shù)據(jù)就是填寫你容聯(lián)云內(nèi)的開發(fā)者賬號內(nèi)容

這是我們要修改的地方之一,修改的內(nèi)容為
(1)accountSId
(2)accountToken
(3)appId
4.2.2、修改測試號碼等信息
那么等我們把賬戶信息修改完之后呢,還需要哪些
你在發(fā)送的時候是不是需要一個6位的隨機數(shù)!安排,只需要一條代碼
//隨機生成6位數(shù)字為驗證碼 String code = String.valueOf(Math.random()).substring(2, 8); System.out.println(code);
我們再來看看運行效果

當然還有就是你的手機號、還有模板、模板的一些參數(shù)
這里的模板就是容聯(lián)云的一個模板了

我選的登錄模板,所以選1就好
//需要把驗證號轉發(fā)到的手機號碼
String to = "1560*******";
//在短信管理中選擇模板ID,我選擇的是1
String templateId = "1";
//模板參數(shù)
String[] datas = {code,"30分鐘"};
4.2.3、存放哈希進行判斷
//這里是使用了一個哈希map來存放手機號、模板ID、模板參數(shù)
HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
//如果返回0000則正常發(fā)送,否則返回異常
if("000000".equals(result.get("statusCode"))){
//正常返回輸出data包體信息(map)
HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
Set<String> keySet = data.keySet();
for(String key:keySet){
Object object = data.get(key);
System.out.println(key +" = "+object);
}
}else{
//異常返回輸出錯誤碼和錯誤信息
System.out.println("錯誤碼=" + result.get("statusCode") +" 錯誤信息= "+result.get("statusMsg"));
}
4.2.4、測試
運行結束后正常情況沒報錯后一般是手機立馬會收到消息的,然后收的驗證碼消息是和你的運行結果那串數(shù)字是一樣的,我們這邊進行測試了一下,下面來看下結果吧
(1)運行結果

(2)手機收到的短信驗證結果!

可以看得到短信驗證成功了
下面我在把我的總體測試代碼發(fā)在下面,但是要記得把相關的一些數(shù)據(jù)改成自己的不然會報錯呢
總體測試代碼
package demo;
import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import java.util.HashMap;
import java.util.Set;
/**
* 短信驗證測試
* @author 藤井大叔
*/
public class SmsDemo {
public static void main(String[] args) {
//生產(chǎn)環(huán)境請求地址:app.cloopen.com
String serverIp = "app.cloopen.com";
//請求端口
String serverPort = "8883";
//主賬號,登陸云通訊網(wǎng)站后,可在控制臺首頁看到開發(fā)者主賬號ACCOUNT SID和主賬號令牌AUTH TOKEN
String accountSId = "請?zhí)顚慳ccountSId ";
String accountToken = "請?zhí)顚慳ccountToken ";
//請使用管理控制臺中已創(chuàng)建應用的APPID
String appId = "請?zhí)顚慳ppId ";
CCPRestSmsSDK sdk = new CCPRestSmsSDK();
sdk.init(serverIp, serverPort);
sdk.setAccount(accountSId, accountToken);
sdk.setAppId(appId);
sdk.setBodyType(BodyType.Type_JSON);
//隨機生成6位數(shù)字為驗證碼
String code = String.valueOf(Math.random()).substring(2, 8);
System.out.println(code);
//需要把驗證號轉發(fā)到的手機號碼
String to = "請?zhí)顚懯謾C號";
//在短信管理中選擇模板ID,我選擇的是1
String templateId = "1";
//模板參數(shù)
String[] datas = {code,"30分鐘"};
//這里是使用了一個哈希map來存放手機號、模板ID、模板參數(shù)
HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
//如果返回0000則正常發(fā)送,否則返回異常
if("000000".equals(result.get("statusCode"))){
//正常返回輸出data包體信息(map)
HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
Set<String> keySet = data.keySet();
for(String key:keySet){
Object object = data.get(key);
System.out.println(key +" = "+object);
}
}else{
//異常返回輸出錯誤碼和錯誤信息
System.out.println("錯誤碼=" + result.get("statusCode") +" 錯誤信息= "+result.get("statusMsg"));
}
}
}
好了,短信驗證其實也是很簡單的一個小操作,今天就講到這
到此這篇關于使用java實現(xiàn)手機短信驗證全過程的文章就介紹到這了,更多相關java實現(xiàn)短信驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
jdk8使用stream實現(xiàn)兩個list集合合并成一個(對象屬性的合并)
本文主要介紹了jdk8使用stream實現(xiàn)兩個list集合合并成一個(對象屬性的合并),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
從Android源碼剖析Intent查詢匹配的實現(xiàn)
這篇文章主要介紹了從Android源碼剖析Intent查詢匹配的實現(xiàn),Intent部分的源碼為Java代碼,需要的朋友可以參考下2015-07-07
IDEA配置使用Maven Helper插件的方法(詳細配置)
這篇文章主要介紹了Maven Helper插件IDEA配置使用(詳細配置),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
java中instanceof和getClass()的區(qū)別分析
本篇文章介紹了,在java中instanceof和getClass()的區(qū)別分析。需要的朋友參考下2013-04-04
Java?Springboot異步執(zhí)行事件監(jiān)聽和處理實例
Java?SpringBoot中,監(jiān)聽和處理事件是一種常見的模式,它允許不同的組件之間通過事件進行通信,事件監(jiān)聽和處理通常通過Spring的事件發(fā)布-訂閱模型來實現(xiàn),一個簡單的Spring?Boot應用程序示例,其中將包括事件的定義、事件的發(fā)布以及事件的監(jiān)聽2024-07-07

