您的当前位置:主页 > 新闻资讯 > 公司动态

合作客户

方太
金伯利

联系我们

0371-86687083
地址:郑州市管城区紫金山路兴达国贸1802室
电话:0371-86687083

公司动态

国际验证码接口供应商:迷你版手机发送短信验证码!

2020-08-25 00:00:00    来源:www.jzyyun.com    点击:3037    喜欢:0

  国际验证码接口供应商:迷你版手机发送短信验证码!

  如何给手机发送验证码?国际验证码接口供应商:迷你版手机发送短信验证码!一起来学习一下吧。

  (1)申请签名:

  (2)申请模版:

  (3)发送短信示例:

  (4)手机收到验证码:

  (5)查看帮助文档:

  (6)获取密钥

  (7)Java代码实现:


国际验证码接口供应商:迷你版手机发送短信验证码!


  1)导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{

  //注:有备注无需修改的位置请勿改动。

  public static SendSmsResponse getPhoneMessage(String phoneNumbers,String signName,String templateCode,String templateParam)throws Exception{

  //设置超时时间-可自行调整

  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="LTAI0DtxkzU0PmX4";//你的accessKeyId,参考本文档步骤2

  final String accessKeySecret="DloLhsiv0X293YkVHEcIq3dy2TZtqT";//你的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);

  //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为国际区号+号码,如“85200000000”

  request.setPhoneNumbers(phoneNumbers);

  //必填:短信签名-可在短信控制台中找到

  request.setSignName(signName);

  //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版

  request.setTemplateCode(templateCode);

  //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为

  //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含rn的情况在JSON中需要表示成rn,否则会导致JSON在服务端解析失败

  //"{"name":"Tom","code":"888888"}"

  request.setTemplateParam(templateParam);

  //可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)

  //request.setSmsUpExtendCode("90997");

  //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者

  request.setOutId("yourOutId");

  //请求失败这里会抛ClientException异常

  SendSmsResponse sendSmsResponse=acsClient.getAcsResponse(request);

  if(sendSmsResponse.getCode()!=null&&sendSmsResponse.getCode().equals("OK")){

  //请求成功

  }

  return sendSmsResponse;

  }

  //生成随机数

  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();

  }

  //传递相应的参数

  public static String TestSendMessage(String phoneNumbers){

  //1.生成随机数,导入commons-lang3-3.7.jar jar包

  //String random=RandomStringUtils.random(6,"1234567890");

  //2.使用随机数方法生成随机数参数:生成的位数

  String random=getRandom(6);

  //用作用域暂时存储

  System.out.println("随机数"+random);

  String name="aaa";

  String code="{"name":""+name+"","code":""+random+""}";

  SendSmsResponse sendSmsResponse=null;

  String message=null;

  try{

  //参数:手机号,短信签名,短信模版Id,发送内容中的随机数

  sendSmsResponse=getPhoneMessage(phoneNumbers,"月之明连之心","SMS_171112706",code);

  String messageCode=sendSmsResponse.getCode();

  if(messageCode.equals("OK")){

  message="发送成功";

  }else{

  if(messageCode.equals("isv.INVALID_PARAMETERS")){

  message="参数异常";

  }

  if(messageCode.equals("isv.AMOUNT_NOT_ENOUGH")){

  message="余额不足";

  }

  }

  }catch(Exception e){

  e.printStackTrace();

  }

  return message;

  }

  //测试

  public static void main(String[]args){

  Scanner scanner=new Scanner(System.in);

  String toTmobile=scanner.next();

  //用于调试

  //String message=TestSendMessage("13933863662");

  String message=TestSendMessage(toTmobile);

  System.out.println(message);

  }

  }

  ```

上一篇:短信群发前为什要记得测试一下?
下一篇:106短信群发平台:10690短信群发渠道能过滤空号吗?


  • 服务咨询 0371-86687083
  • 一对一贵宾级服务
  • 7X24小时技术保障
Copyright © 2013-2017. All Rights Reserved. 郑州嘉之元计算机科技有限公司 www.jzyyun.com 版权所有 | 增值电信业务经营许可证:B2-20194910| 备案号: 豫ICP备15030919-2号
营业执照
图片
[网站地图] [联系我们]
本公司主要从事:短信验证码,短信接口,短信平台,群发短信,短信群发 sitemap:sitemap.txt|

豫公网安备41010402002418号

点击这里给我发消息