國(guó)際驗(yàn)證碼接口供應(yīng)商:迷你版手機(jī)發(fā)送短信驗(yàn)證碼!
2020-08-25 00:00:00
來(lái)源:www.yzdtdq.net.cn
點(diǎn)擊:3800
喜歡:0
國(guó)際驗(yàn)證碼接口供應(yīng)商:迷你版手機(jī)發(fā)送短信驗(yàn)證碼! 如何給手機(jī)發(fā)送驗(yàn)證碼?國(guó)際驗(yàn)證碼接口供應(yīng)商:迷你版手機(jī)發(fā)送短信驗(yàn)證碼!一起來(lái)學(xué)習(xí)一下吧。 (1)申請(qǐng)簽名: (2)申請(qǐng)模版: (3)發(fā)送短信示例: (4)手機(jī)收到驗(yàn)證碼: (5)查看幫助文檔: (6)獲取密鑰 (7)Java代碼實(shí)現(xiàn):

1)導(dǎo)jar包 2)代碼: ```java package test; import java.util.Random; import java.util.Scanner; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; public class TestPhone_1{ //注:有備注無(wú)需修改的位置請(qǐng)勿改動(dòng)。 public static SendSmsResponse getPhoneMessage(String phoneNumbers,String signName,String templateCode,String templateParam)throws Exception{ //設(shè)置超時(shí)時(shí)間-可自行調(diào)整 System.setProperty("sun.net.client.defaultConnectTimeout","10000"); System.setProperty("sun.net.client.defaultReadTimeout","10000"); //初始化ascClient需要的幾個(gè)參數(shù) final String product="Dysmsapi";//短信API產(chǎn)品名稱(chēng)(短信產(chǎn)品名固定,無(wú)需修改) final String domain="dysmsapi.aliyuncs.com";//短信API產(chǎn)品域名(接口地址固定,無(wú)需修改) //替換成你的AK final String accessKeyId="LTAI0DtxkzU0PmX4";//你的accessKeyId,參考本文檔步驟2 final String accessKeySecret="DloLhsiv0X293YkVHEcIq3dy2TZtqT";//你的accessKeySecret,參考本文檔步驟2 //初始化ascClient,暫時(shí)不支持多region(請(qǐng)勿修改) IClientProfile profile=DefaultProfile.getProfile("cn-hangzhou",accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("cn-hangzhou","cn-hangzhou",product,domain); IAcsClient acsClient=new DefaultAcsClient(profile); //組裝請(qǐng)求對(duì)象 SendSmsRequest request=new SendSmsRequest(); //使用post提交 request.setMethod(MethodType.POST); //必填:待發(fā)送手機(jī)號(hào)。支持以逗號(hào)分隔的形式進(jìn)行批量調(diào)用,批量上限為1000個(gè)手機(jī)號(hào)碼,批量調(diào)用相對(duì)于單條調(diào)用及時(shí)性稍有延遲,驗(yàn)證碼類(lèi)型的短信推薦使用單條調(diào)用的方式;發(fā)送國(guó)際/港澳臺(tái)消息時(shí),接收號(hào)碼格式為國(guó)際區(qū)號(hào)+號(hào)碼,如“85200000000” request.setPhoneNumbers(phoneNumbers); //必填:短信簽名-可在短信控制臺(tái)中找到 request.setSignName(signName); //必填:短信模板-可在短信控制臺(tái)中找到,發(fā)送國(guó)際/港澳臺(tái)消息時(shí),請(qǐng)使用國(guó)際/港澳臺(tái)短信模版 request.setTemplateCode(templateCode); //可選:模板中的變量替換JSON串,如模板內(nèi)容為"親愛(ài)的${name},您的驗(yàn)證碼為${code}"時(shí),此處的值為 //友情提示:如果JSON中需要帶換行符,請(qǐng)參照標(biāo)準(zhǔn)的JSON協(xié)議對(duì)換行符的要求,比如短信內(nèi)容中包含rn的情況在JSON中需要表示成rn,否則會(huì)導(dǎo)致JSON在服務(wù)端解析失敗 //"{"name":"Tom","code":"888888"}" request.setTemplateParam(templateParam); //可選-上行短信擴(kuò)展碼(擴(kuò)展碼字段控制在7位或以下,無(wú)特殊需求用戶(hù)請(qǐng)忽略此字段) //request.setSmsUpExtendCode("90997"); //可選:outId為提供給業(yè)務(wù)方擴(kuò)展字段,最終在短信回執(zhí)消息中將此值帶回給調(diào)用者 request.setOutId("yourOutId"); //請(qǐng)求失敗這里會(huì)拋ClientException異常 SendSmsResponse sendSmsResponse=acsClient.getAcsResponse(request); if(sendSmsResponse.getCode()!=null&&sendSmsResponse.getCode().equals("OK")){ //請(qǐng)求成功 } return sendSmsResponse; } //生成隨機(jī)數(shù) public static String getRandom(int n){ char[]code="0123456789".toCharArray(); StringBuilder sb=new StringBuilder(); for(int i=0;i<n;i++){ sb.append(code[new Random().nextInt(code.length)]); } return sb.toString(); } //傳遞相應(yīng)的參數(shù) public static String TestSendMessage(String phoneNumbers){ //1.生成隨機(jī)數(shù),導(dǎo)入commons-lang3-3.7.jar jar包 //String random=RandomStringUtils.random(6,"1234567890"); //2.使用隨機(jī)數(shù)方法生成隨機(jī)數(shù)參數(shù):生成的位數(shù) String random=getRandom(6); //用作用域暫時(shí)存儲(chǔ) System.out.println("隨機(jī)數(shù)"+random); String name="aaa"; String code="{"name":""+name+"","code":""+random+""}"; SendSmsResponse sendSmsResponse=null; String message=null; try{ //參數(shù):手機(jī)號(hào),短信簽名,短信模版Id,發(fā)送內(nèi)容中的隨機(jī)數(shù) sendSmsResponse=getPhoneMessage(phoneNumbers,"月之明連之心","SMS_171112706",code); String messageCode=sendSmsResponse.getCode(); if(messageCode.equals("OK")){ message="發(fā)送成功"; }else{ if(messageCode.equals("isv.INVALID_PARAMETERS")){ message="參數(shù)異常"; } if(messageCode.equals("isv.AMOUNT_NOT_ENOUGH")){ message="余額不足"; } } }catch(Exception e){ e.printStackTrace(); } return message; } //測(cè)試 public static void main(String[]args){ Scanner scanner=new Scanner(System.in); String toTmobile=scanner.next(); //用于調(diào)試 //String message=TestSendMessage("13933863662"); String message=TestSendMessage(toTmobile); System.out.println(message); } } ```
上一篇:短信群發(fā)前為什要記得測(cè)試一下?
下一篇:106短信群發(fā)平臺(tái):10690短信群發(fā)渠道能過(guò)濾空號(hào)嗎?