第三方服务篇 短信云片

注册账号
https://www.yunpian.com/entry?method=register

登录后进行
https://www.yunpian.com/console/#/setting/account/info
在这里插入图片描述
签名 与 模块管理
在这里插入图片描述
发送短信

import com.alibaba.fastjson.JSONObject;

import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

public class SmsUtil {

    // 编码格式。发送编码格式统一用UTF-8
    private static String ENCODING = "UTF-8";
    // 模板发送接口的http地址
    private static String URI_TPL_SEND_SMS = "https://sms.yunpian.com/v2/sms/tpl_single_send.json";
	//云片提供的 apikey
    private static String apikey = "xxxxxxxxxxxxxxxxx";
	//模板id 
    private static String reg_tplId = "xxxxx";
    public static JSONObject sendRegSms(String smsCode,String mobile) throws IOException {
        String tpl_value =  URLEncoder.encode("#code#", ENCODING)+ "=" + URLEncoder.encode(smsCode+"", ENCODING);
        return tplSendSms(reg_tplId,tpl_value,mobile);
    }

    public static JSONObject tplSendSms(String tpl_id,
                                        String tpl_value, String mobile) throws IOException {
        Map<String, String> params = new HashMap<String, String>();
        params.put("apikey", apikey);
        params.put("tpl_id", tpl_id);
        params.put("tpl_value", tpl_value);
        params.put("mobile", mobile);
        return HttpClientUtils.doPost(URI_TPL_SEND_SMS, params);
    }
}

调用发送短信

		String phone = 139xxxxxxxx
        String smsCode = (int)((Math.random()*9+1)*100000)+"";
        JSONObject resultJson = SmsUtil.sendRegSms(smsCode,phone);
        String smscode = resultJson.getString("code");
        if ( !"0".equals(smscode) ){
            result.setMsg(resultJson.getString("detail")) ;
            return result;
        }

验证短信有效性

方式一、 生成的 smscode 存入内存中,进行比较
方式二、生成的smscode 存入 数据库表中。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值