10
2018-09

java实现短信验证码发送功能 4779 中昱维信

验证码接口平台 验证码平台 短信平台 常见问题 短信验证码接口

现在已经成为了网站的标配,网站的用户注册、安全登录、密码找回等都会用到短信验证码,那么网站如何开通短信验证码功能呢?

 

首先短信验证码接口平台有非常多,短信到达率参差不齐,这个需要根据你们项目的实际情况来选择,到达时间太长会非常非常影响用户体验!

 

中昱维信今天以我经常用的这个短信验证码接口举例子,实现三步接入短信验证码

 

1、首先去官网网申请账号和进行认证,会有免费的条数

 

然后到平台申请开发者appid和appkey,详情阅读:短信验证码接入指南

短信平台开发者申请

签名是根据你的品牌或者公司来定的

短信验证码签名


2、以post方式提交 ,接口地址:https://vip.veesing.com/smsApi/verifyCode

 

这个是他需要传的参数

 

appid提交账户

appkey提交账户密码

phone 接收号码,只能提交1个号码

 

templateId 平台申请的验证码模板id

 

variables 生成的验证码变量


 示例代码


package com.veesing.test;

 

import java.io.IOException;

 

import org.apache.commons.httpclient.HttpClient;

import org.apache.commons.httpclient.HttpException;

import org.apache.commons.httpclient.NameValuePair;

import org.apache.commons.httpclient.methods.PostMethod;

import com.alibaba.fastjson.JSONObject;

import com.veesing.utils.Config;

 

/**

 * 短信验证码

 * @author MWH

 *

 */

public class SmsCodeTest {

public static void main(String[] args) {

// 获取连接

HttpClient client = new HttpClient();

// 短信验证码API接口地址

PostMethod method = new PostMethod("https://vip.veesing.com/smsApi/verifyCode");

// 设置编码

client.getParams().setContentCharset("UTF-8");

method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=utf-8");

// 手机号码,一次只能提交一个手机号码

String phone = "15080929435";

//模板ID(如没有模板ID请先在平台上新增并提交验证码模板,审核通过即可使用)

String templateId = "36";

// 验证码变量(随机数)

Integer num = (int)((Math.random()*9+1)*1000);

String variables = num.toString();

System.out.println("验证码是:"+variables);

// 拼接参数

NameValuePair[] data = {

new NameValuePair("appId", appid),

new NameValuePair("appKey", appkey),

new NameValuePair("phone", phone),

new NameValuePair("templateId", templateId),

new NameValuePair("variables", variables) };

method.setRequestBody(data);

try {

client.executeMethod(method);

String result = method.getResponseBodyAsString();

// 返回结果

System.out.println(result);

JSONObject jsonObject = JSONObject.parseObject(result);

// 返回2000则发送成功(逻辑操作请根据接口文档返回参数自行判断)

if (jsonObject.get("returnStatus").equals("2000")) {

System.out.println("成功!");

} else {

System.out.println("失败!");

}

// 释放连接

method.setRequestHeader("Connection", "close");  

method.releaseConnection();

} catch (HttpException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

短信验证码示例

以上就是Java短信验证码接口代码示例,详细功能可以注册登录中昱短彩信平台进行深度体验,注册即可免费赠送10条体验哦!