专业app网站建设,网站设计的经营范围,软件编程,网站链接改名怎做301下面是关于大鱼短信平台对接的例子#xff0c;发短信的话#xff0c;可以用这个#xff0c;很好用 /*** 通过阿里短信接口发送短信验证码* ***/
public class SendSmsUtil {private static Logger logger Logger.getLogger(SendSmsUtil.class);/*** 生成验证码* return*/pu…下面是关于大鱼短信平台对接的例子发短信的话可以用这个很好用 /*** 通过阿里短信接口发送短信验证码* ***/
public class SendSmsUtil {private static Logger logger Logger.getLogger(SendSmsUtil.class);/*** 生成验证码* return*/public static String getCaptcha() {String str 0,1,2,3,4,5,6,7,8,9;String str2[] str.split(,);// 将字符串以,分割Random rand new Random();// 创建Random类的对象randint index 0;String randStr ;// 创建内容为空字符串对象randStrrandStr ;// 清空字符串对象randStr中的值for (int i 0; i 4; i) {index rand.nextInt(str2.length - 1);// 在0到str2.length-1生成一个伪随机数赋值给indexrandStr str2[index];// 将对应索引的数组与randStr的变量值相连接}return randStr;}/*** 阿里短信的通用配置* throws ClientException*/public static IAcsClient aliSmsConfig() {//设置超时时间-可自行调整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产品域名接口地址固定无需修改//替换成你的AKfinal String accessKeyId ConstantUtils.ACCESS_KEY_ID;//你的accessKeyId,参考本文档步骤2final String accessKeySecret ConstantUtils.ACCESS_KEY_SECRET;//你的accessKeySecret参考本文档步骤2//初始化ascClient,暂时不支持多region请勿修改IClientProfile profile DefaultProfile.getProfile(cn-hangzhou, accessKeyId,accessKeySecret);try {DefaultProfile.addEndpoint(cn-hangzhou, cn-hangzhou, product, domain);} catch (ClientException e) {e.printStackTrace();}IAcsClient acsClient new DefaultAcsClient(profile);return acsClient;}/**** param templateCode 短信模板编号* param telephone 手机号可多个以,隔开最多1000* param templateParam 变量内容* return* throws ServerException* throws ClientException*/public static String sendSms(String templateCode, String telephone, String templateParam){IAcsClient acsClient aliSmsConfig();//组装请求对象SendSmsRequest request new SendSmsRequest();//使用post提交request.setMethod(MethodType.POST);//必填:待发送手机号。支持以逗号分隔的形式进行批量调用批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式request.setPhoneNumbers(telephone);//必填:短信签名-可在短信控制台中找到request.setSignName(ConstantUtils.SIGN_NAME);//必填:短信模板-可在短信控制台中找到request.setTemplateCode(templateCode);//可选:模板中的变量替换JSON串,如模板内容为亲爱的${name},您的验证码为${code}时,此处的值为//友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败if(!StringUtil.isEmpty(templateParam)){request.setTemplateParam(templateParam);}//可选-上行短信扩展码(扩展码字段控制在7位或以下无特殊需求用户请忽略此字段)//request.setSmsUpExtendCode(90997);//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
// request.setOutId(yourOutId);//请求失败这里会抛ClientException异常SendSmsResponse sendSmsResponse null;try {sendSmsResponse acsClient.getAcsResponse(request);} catch (ServerException e) {e.printStackTrace();return fail;} catch (ClientException e) {e.printStackTrace();return fail;}if(sendSmsResponse.getCode() ! null sendSmsResponse.getCode().equals(OK)) {//请求成功logger.info(短息发送成功手机号 telephone);return success;} else {logger.error(短信发送失败手机号 telephone |返回错误码 sendSmsResponse.getCode());return fail;}}public static void main(String[] args) throws ServerException, ClientException {String code getCaptcha();System.out.println(验证码为 code);String templateCode ConstantUtils.CAPTCHA_TEL_CODE;String recNum 18612349630;
// String templateParam {\code\:\ code \};
// System.out.println(templateParam templateParam);
// sendSms(templateCode, recNum, templateParam);String templateParam {\ ConstantUtils.CODE_CAPTCHA_VAR_NAME \:\ code \};
// String templateParam {\ ConstantUtils.NAME_FRANCHISEE_VAR_NAME \:\ name \};System.out.println(templateParam templateParam);sendSms(templateCode, recNum, templateParam);}
}转载于:https://blog.51cto.com/13587708/2119430