1. 程式人生 > >今天記錄下那個阿裏雲短信驗證

今天記錄下那個阿裏雲短信驗證

script client cti 服務 pla dep 號碼 部分 lan

如果你是小白,那麽看我這個絕對沒問題,手把手教學。。。。。。

首先你打開這個鏈接:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11186623.6.550.3fb415ec0B2n0o

打代碼之前,你要做的準備工作就是:下面4步。

入駐阿裏雲---開通短信服務----獲取AccessKey--------創建簽名和模版

當你完成了上面4步,emmm.....

打開eclipse

新建maven工程(quickstart)

在你的pom.xml中復制我下面的東西

<dependencies>
<!--短信sdk -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.7.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>

然後新建一個包,並在包下建一個類。在類裏面復制我下面這段代碼

package com.lanyou.cent.controller;

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.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

/**
* @Auther: ZouLF
* @Date: 2018/5/29 10:49
* @Description: 短信驗證碼測試
*/
public class SmsUtils {

// 產品名稱:雲通信短信API產品,開發者無需替換
static final String product = "Dysmsapi";
// 產品域名,開發者無需替換
static final String domain = "dysmsapi.aliyuncs.com";

// TODO 此處需要替換成開發者自己的AK(在阿裏雲訪問控制臺尋找)
static final String accessKeyId = "***********"; // TODO 改這裏1
static final String accessKeySecret = "**************"; // TODO 改這裏2

public static SendSmsResponse sendSms(String telephone, String code) throws ClientException {

// 可自助調整超時時間
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");

// 初始化acsClient,暫不支持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();
// 必填:待發送手機號
request.setPhoneNumbers("*********");3
// 必填:短信簽名-可在短信控制臺中找到
request.setSignName("********"); // TODO 改這裏4
// 必填:短信模板-可在短信控制臺中找到
request.setTemplateCode("******"); // TODO 改這裏5
// 可選:模板中的變量替換JSON串,如模板內容為"親愛的用戶,您的驗證碼為${code}"時,此處的值為
request.setTemplateParam("{\"code\":\"" + code + "\"}");

// 選填-上行短信擴展碼(無特殊需求用戶請忽略此字段)
// request.setSmsUpExtendCode("90997");

// 可選:outId為提供給業務方擴展字段,最終在短信回執消息中將此值帶回給調用者
request.setOutId("yourOutId");

// hint 此處可能會拋出異常,註意catch
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
System.out.println(sendSmsResponse.getCode());
System.out.println(sendSmsResponse.getCode().equals("ok"));
if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){
System.out.println("短信發送成功!");
}else {
System.out.println("短信發送失敗!");
}
return sendSmsResponse;
}

//以下為測試代碼,隨機生成驗證碼
private static int newcode;
public static int getNewcode() {
return newcode;
}
public static void setNewcode(){
newcode = (int)(Math.random()*9999)+100; //每次調用生成一次四位數的隨機數
}
public static void main(String[] args) throws Exception {
setNewcode();
String code = Integer.toString(getNewcode());
SendSmsResponse sendSms =sendSms("你手機號",code);//填寫你需要測試的手機號碼6
System.out.println("短信接口返回的數據----------------");
System.out.println("Code=" + sendSms.getCode());
System.out.println("Message=" + sendSms.getMessage());
System.out.println("RequestId=" + sendSms.getRequestId());
System.out.println("BizId=" + sendSms.getBizId());

}
}

你要改的是上面註釋後面我標有123456的地方。

需要註意的是第5點的填寫是一串代碼,找到你的模板管理-點擊詳情- 把模板CODE:後面那一串復制到5那裏。

ok,點擊java application運行。即可以看到你手機的驗證碼!

今天記錄下那個阿裏雲短信驗證