java 调用腾讯云短信api

依赖:

     <!--腾讯短信依赖-->
        <dependency>
            <groupId>com.github.qcloudsms</groupId>
            <artifactId>qcloudsms</artifactId>
            <version>1.0.6</version>
        </dependency>

代码:

public class SMSUtil {


    private static final int appid =xxxxx;
    private static final String appkey = "xxxxxx";


    public static String send(String phoneNumbers) {
        int yzm = random();
        String num = Integer.toString(yzm);
        SmsSingleSenderResult result = null;
        try {
            String smsSign = "" + yzm + "为您的登录验证码,请于2分钟内填写。如非本人操作,请忽略本短信。"; // NOTE: 这里的签名"腾讯云"只是一个示例,真实的签名需要在短信控制台中申请,另外签名参数使用的是`签名内容`,而不是`签名ID
            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            result = ssender.send(0, "86", phoneNumbers, smsSign, "", "");
            if (result.result == 0) {
                //发送成功返回验证码
                return num;
            }
        } catch (HTTPException e) {
            //System.out.println("HTTP响应码错误");
            return result.toString();
        } catch (JSONException e) {
            //System.out.println("json解析错误");
            return result.toString();
        } catch (IOException e) {
            //System.out.println(" 网络IO错误");
            return result.toString();
        } catch (com.github.qcloudsms.httpclient.HTTPException e) {
            e.printStackTrace();
        }
        return result.toString();
    }

    /*
        生成6位验证码
     */
    private static int random() {
        Random r = new Random();
        StringBuffer sb = new StringBuffer();
        int[] c = new int[6];
        for (int i = 0; i < 6; i++) {
            c[i] = r.nextInt(9) + 1;
            sb.append(c[i]);
        }
        return Integer.parseInt(sb.toString());

    }

    public static void main(String[] args) {
        String send = SMSUtil.send("这里给手机号码");
        System.out.println(send);
    }
}

猜你喜欢

转载自www.cnblogs.com/nongzihong/p/11491980.html