1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java实现发送手机验证码 发送短信

Java实现发送手机验证码 发送短信

时间:2021-03-24 16:26:35

相关推荐

Java实现发送手机验证码 发送短信

要发送短信,我们需要第三方提供的短信接口,这里我使用阿里云的短信服务。

首先进入阿里云的官网,然后注册。登陆之后选择云通信——》短信服务

然后点击免费开通

开通后进入控制中心,选择右上方的支持与服务,选择帮助与文档

接着选择云通信短信服务

然后就进入到官方提供的文档教程了,写得很详细,可以自己参考对接短信接口。

我的操作步骤如下:

进入之后先开通RAM访问控制,然后点击人员管理——》用户——》新建用户

填写名称,由于我用Eclipse编写Java代码发送,所以我选择编程访问,点击确定。

注意:此后会弹出对话框,写有相关信息,不要忙着关闭,一定要记住自己的AccessKey ID和AccessKeySecret,因为关闭后将无法通过任何途径查看这两个信息。也不要泄露这些信息。详情见官方文档

接着给用户添加权限

然后就是添加短信签名,进入控制台

填写签名,选择验证码,之后提交,待审核通过(不通过的话,删除之后再添加)

签名审核通过之后,再添加短信模板,提交等待审核即可

至此,申请流程已经差不多了,接下来就是写代码了,也可以使用官方提供的demo。(推荐使用新版)

如果不用maven的话需要两个jar包,其中官方提供了一个,还有一个需要自己下载

先来下载官方提供的

另一个jar包下载地址

/artifact/com.google.code.gson/gson/2.8.5

当然,发送短信是要收费的,不过有个活动,新人可以免费使用。活动地址

找到短信服务,如果没有企业的话,选择个人专享,0元开通。(可以免费发送100条短信,详情见官方说明)

如果想了解更多的话,建议查看官方文档,写得很详细

下面是我直接复制的官方demo,能在eclipse中运行,导入刚才下载的2个jar包即可。

package sendPhoneMessage;import java.text.SimpleDateFormat;import java.util.Date;import monRequest;import monResponse;import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.IAcsClient;import com.aliyuncs.exceptions.ClientException;import com.aliyuncs.exceptions.ServerException;import com.aliyuncs.http.MethodType;import com.aliyuncs.profile.DefaultProfile;public class QuerySendDetails {//自己的AccessKey ID(不要泄露)static final String accessKeyId = "";//自己的AccessKeySecret(不要泄露)static final String accessKeySecret = "";//接收验证码的手机号static final String tlephone = "";//签名名称static final String signName = "";//短信模板ID。请在控制台模板管理页面模板CODE一列查看。static final String templateCode = "";/*** 生成四位随机数验证码* @return*/static String setRandomNumber() {return Integer.toString(((int)(Math.random()*9000+1000)));}public static void main(String[] args) {DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);IAcsClient client = new DefaultAcsClient(profile);CommonRequest request = new CommonRequest();request.setMethod(MethodType.POST);request.setDomain("");request.setVersion("-05-25");request.setAction("SendSms");request.putQueryParameter("RegionId", "cn-hangzhou");request.putQueryParameter("PhoneNumbers", tlephone);request.putQueryParameter("SignName", signName);request.putQueryParameter("TemplateCode", templateCode);request.putQueryParameter("TemplateParam", "{\"code\":\""+setRandomNumber()+"\"}");try {CommonResponse response = client.getCommonResponse(request);System.out.println(response.getData());} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}}}

参数说明:

accessKeyId 和 accessKeySecret

刚刚新建用户时记住的AccessKey ID和AccessKeySecret

signName

签名名称

查看方式:

templateCode

短信模板ID。请在控制台模板管理页面模板CODE一列查看。

查看方式:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。