使用阿里大于(大魚)平臺進行發(fā)送手機驗證碼的流程
昨天看了一篇博文利用阿里云大于平臺給手機發(fā)送驗證碼和短信,當(dāng)時自己就很感興趣,因為這個技術(shù)很有用,相當(dāng)于以后做用戶注冊的功能可以進行短信驗證,并且大于平臺的短信收費也很低,我自己都沒有花錢。現(xiàn)在來分享一下我昨天做的流程吧
首先去登錄阿里大于: http://www.alidayu.com/
沒有號的就注冊一個!用淘寶就可以登錄了,相信一般人都是不需要注冊的,還可以用支付寶,微博賬號登陸,我用的是支付寶掃碼登錄。在登錄成功之后顯示下圖界面。
點擊頁面的控制臺,然后會跳到另一個頁面,然后你會看大使用短信服務(wù),點擊它就好了,我在這里就不截圖了,然后你會進到如下界面。
接下來,點擊短信簽名,接著點擊添加短信簽名,然后進行添加就行了,我這是添加之后的結(jié)果,這個需要驗證,只有驗證通過了才能使用。
接下來,一樣的點擊短信模板,接著點擊添加短信模板,然后添加自己想要的編寫的信息就行。如下圖
其中這個 模版CODE(途中紅色框的那個)有用,在待會自己寫的代碼中會用到,同樣的在短信簽名那部分的 “簽名名稱”也會在代碼中用到。
在這兩個都設(shè)置好之后,就可以進行下面的操作了。
如圖所示,選擇你的編寫語言,點擊進去,我用的是java,所以就一java為例。
點擊之后你會進入如圖所示的界面,現(xiàn)在你要做的就是獲得證書。accessKeyId 和
accessKeySecret。
接下來下載sdk啦,按照幫助文檔提示的將下下來的jar包放到你自己的項目中就可以實用它 的API接口了,如下圖
一切準(zhǔn)備工作做好之后,現(xiàn)在開始自己寫代碼了,不對是改代碼,因為都幫你寫好了,你只要改一下參數(shù),然后寫自己想寫的代碼就夠了。
首先這樣的就這樣的一個簡單的目錄結(jié)構(gòu)吧,
接下在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{ //設(shè)置超時時間-可自行調(diào)整 System.setProperty("sun.net.client.defaultConnectTimeout", "10000"); System.setProperty("sun.net.client.defaultReadTimeout", "10000"); //初始化ascClient需要的幾個參數(shù) final String product = "Dysmsapi";//短信API產(chǎn)品名稱(短信產(chǎn)品名固定,無需修改) final String domain = "dysmsapi.aliyuncs.com";//短信API產(chǎn)品域名(接口地址固定,無需修改) //替換成你的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ā)送手機號。支持以逗號分隔的形式進行批量調(diào)用,批量上限為1000個手機號碼,批量調(diào)用相對于單條調(diào)用及時性稍有延遲,驗證碼類型的短信推薦使用單條調(diào)用的方式 request.setPhoneNumbers("15000000000"); //必填:短信簽名-可在短信控制臺中找到 request.setSignName("短信簽名"); //必填:短信模板-可在短信控制臺中找到 request.setTemplateCode("模板code"); //可選:模板中的變量替換JSON串,如模板內(nèi)容為"親愛的${name},您的驗證碼為$[code]"時,此處的值為 //友情提示:如果JSON中需要帶換行符,請參照標(biāo)準(zhǔn)的JSON協(xié)議對換行符的要求,比如短信內(nèi)容中包含\r\n的情況在JSON中需要表示成\\r\\n,否則會導(dǎo)致JSON在服務(wù)端解析失敗 request.setTemplateParam("{\"name\":\"aaa\", \"code\":\"520\"}"); //可選-上行短信擴展碼(擴展碼字段控制在7位或以下,無特殊需求用戶請忽略此字段) //request.setSmsUpExtendCode("90997"); //可選:outId為提供給業(yè)務(wù)方擴展字段,最終在短信回執(zhí)消息中將此值帶回給調(diào)用者 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ā)送驗證碼短信啦。
標(biāo)注的這些地方是你需要修改的。
其中name和code是傳遞的參數(shù),例如發(fā)送驗證碼,可以自己先隨機數(shù)生成一個4位或6位數(shù)賦值給code然后發(fā)送到手機上。
總結(jié)
以上所述是小編給大家介紹的使用阿里大于(大魚)平臺進行發(fā)送手機驗證碼的流程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件
這篇文章主要為大家介紹了Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Elasticsearch在應(yīng)用中常見錯誤示例解析
這篇文章主要為大家介紹了Elasticsearch在應(yīng)用中常見錯誤示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-04-04微信支付、支付寶支付等常用第三方支付通道接口手續(xù)費對比
微信支付、支付寶等第三方支付,需要和銀聯(lián)、網(wǎng)聯(lián)對接,有清算機構(gòu)和銀行的交易處理通道成本。費率指支付手續(xù)費的費率,不同行業(yè)、不同的支付平臺、不同的支付額度或次數(shù)所對應(yīng)的通道費率是不一樣的。2023-01-012022編程語言需求排名出爐:第一不是Python,也不是Java
編程語言的流行程度、發(fā)展前景、就業(yè)市場這些一直都是程序員們非常關(guān)注的話題,需求排名是程序員們關(guān)注學(xué)習(xí)的風(fēng)向標(biāo),畢竟是市場經(jīng)濟,學(xué)以致用,如果熱門編程不了解,都不好意思告訴別人你是程序員。編程語言的種類有超過200+,但還有很多不為人知。2022-12-12