使用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)云的相關(guā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就好
//需要把驗證號轉(zhuǎn)發(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、測試
運行結(jié)束后正常情況沒報錯后一般是手機立馬會收到消息的,然后收的驗證碼消息是和你的運行結(jié)果那串數(shù)字是一樣的,我們這邊進行測試了一下,下面來看下結(jié)果吧
(1)運行結(jié)果

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

可以看得到短信驗證成功了
下面我在把我的總體測試代碼發(fā)在下面,但是要記得把相關(guān)的一些數(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)建應(yī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);
//需要把驗證號轉(zhuǎn)發(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"));
}
}
}
好了,短信驗證其實也是很簡單的一個小操作,今天就講到這
到此這篇關(guān)于使用java實現(xiàn)手機短信驗證全過程的文章就介紹到這了,更多相關(guān)java實現(xiàn)短信驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于SpringBoot實現(xiàn)驗證碼功能(兩種驗證碼方式)
這篇文章主要介紹了基于SpringBoot實現(xiàn)驗證碼功能,今天我們介紹的是兩種主流的驗證碼,一種就是進行計算的驗證碼,另外一種就是不需要計算,直接輸入的驗證碼,需要的朋友可以參考下2024-08-08
Spring @Configuration和@Component的區(qū)別
今天小編就為大家分享一篇關(guān)于Spring @Configuration和@Component的區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12

