昨天看了一篇博文利用阿里云大于平臺給手機發(fā)送驗證碼和短信,當時自己就很感興趣,因為這個技術很有用,相當于以后做用戶注冊的功能可以進行短信驗證,并且大于平臺的短信收費也很低,我自己都沒有花錢?,F在來分享一下我昨天做的流程吧
首先去登錄阿里大于: http://www.alidayu.com/
沒有號的就注冊一個!用淘寶就可以登錄了,相信一般人都是不需要注冊的,還可以用支付寶,微博賬號登陸,我用的是支付寶掃碼登錄。在登錄成功之后顯示下圖界面。
點擊頁面的控制臺,然后會跳到另一個頁面,然后你會看大使用短信服務,點擊它就好了,我在這里就不截圖了,然后你會進到如下界面。
接下來,點擊短信簽名,接著點擊添加短信簽名,然后進行添加就行了,我這是添加之后的結果,這個需要驗證,只有驗證通過了才能使用。
接下來,一樣的點擊短信模板,接著點擊添加短信模板,然后添加自己想要的編寫的信息就行。如下圖
其中這個 模版CODE(途中紅色框的那個)有用,在待會自己寫的代碼中會用到,同樣的在短信簽名那部分的 “簽名名稱”也會在代碼中用到。
在這兩個都設置好之后,就可以進行下面的操作了。
如圖所示,選擇你的編寫語言,點擊進去,我用的是java,所以就一java為例。
點擊之后你會進入如圖所示的界面,現在你要做的就是獲得證書。accessKeyId 和
accessKeySecret。
接下來下載sdk啦,按照幫助文檔提示的將下下來的jar包放到你自己的項目中就可以實用它 的API接口了,如下圖
一切準備工作做好之后,現在開始自己寫代碼了,不對是改代碼,因為都幫你寫好了,你只要改一下參數,然后寫自己想寫的代碼就夠了。
首先這樣的就這樣的一個簡單的目錄結構吧,
接下在Message.java類中寫
package com.action;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class Message {
public void messagePost() throws ServerException, ClientException{
//設置超時時間-可自行調整
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化ascClient需要的幾個參數
final String product = "Dysmsapi";//短信API產品名稱(短信產品名固定,無需修改)
final String domain = "dysmsapi.aliyuncs.com";//短信API產品域名(接口地址固定,無需修改)
//替換成你的AK
final String accessKeyId = "accessKeyId";//你的accessKeyId,參考本文檔步驟2
final String accessKeySecret = "accessKeySecret";//你的accessKeySecret,參考本文檔步驟2
//初始化ascClient,暫時不支持多region(請勿修改)
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
//組裝請求對象
SendSmsRequest request = new SendSmsRequest();
//使用post提交
request.setMethod(MethodType.POST);
//必填:待發(fā)送手機號。支持以逗號分隔的形式進行批量調用,批量上限為1000個手機號碼,批量調用相對于單條調用及時性稍有延遲,驗證碼類型的短信推薦使用單條調用的方式
request.setPhoneNumbers("15000000000");
//必填:短信簽名-可在短信控制臺中找到
request.setSignName("短信簽名");
//必填:短信模板-可在短信控制臺中找到
request.setTemplateCode("模板code");
//可選:模板中的變量替換JSON串,如模板內容為"親愛的${name},您的驗證碼為$[code]"時,此處的值為
//友情提示:如果JSON中需要帶換行符,請參照標準的JSON協議對換行符的要求,比如短信內容中包含\r\n的情況在JSON中需要表示成\\r\\n,否則會導致JSON在服務端解析失敗
request.setTemplateParam("{\"name\":\"aaa\", \"code\":\"520\"}");
//可選-上行短信擴展碼(擴展碼字段控制在7位或以下,無特殊需求用戶請忽略此字段)
//request.setSmsUpExtendCode("90997");
//可選:outId為提供給業(yè)務方擴展字段,最終在短信回執(zhí)消息中將此值帶回給調用者
request.setOutId("yourOutId");
//請求失敗這里會拋ClientException異常
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if(sendSmsResponse.getCode() != null sendSmsResponse.getCode().equals("OK")) {
//請求成功
System.out.println(sendSmsResponse.getCode());
System.out.println("請求成功");
}
}
}
就這么簡單,你運行這個messagePost方法就可以給指定手機發(fā)送驗證碼短信啦。
標注的這些地方是你需要修改的。
其中name和code是傳遞的參數,例如發(fā)送驗證碼,可以自己先隨機數生成一個4位或6位數賦值給code然后發(fā)送到手機上。
總結
以上所述是小編給大家介紹的使用阿里大于(大魚)平臺進行發(fā)送手機驗證碼的流程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
您可能感興趣的文章:- 阿里大于短信驗證碼node koa2的實現代碼(最新)
- Springboot實現阿里云通信短信服務有關短信驗證碼的發(fā)送功能
- 阿里云PHP SMS短信服務驗證碼發(fā)送方法
- nodejs接入阿里大魚短信驗證碼的方法