700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > API发送短信验证码

API发送短信验证码

时间:2023-07-19 20:32:25

相关推荐

API发送短信验证码

由于 阿里大于 的短信签名一直申请不通过,没办法只好用别的短信。

这次用的是朋友推荐的 haoservice ,价格和阿里云差不多,好处是:

1、第一次买的话可以买10块钱的,300条,也就是3分钱一条,相对测试来说很便宜。

2、购买的条数,没有时间限制,不像阿里的有24个月限制。

3、没有复杂的认证,模版签名一块审核,通过的速度很快,不像阿里的还得上传营业执照,授权书等等。

言归正传:

首先登陆之后申请短信api服务,之后进入我的数据,点击短信模版,添加属于自己的模版。
提交审核,审核挺快的,我当时十分钟就审核完了。

开始整合项目:

pom.xml导包

<!-- Gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency>

工具类 SendSMSUtil.java 需要修改的地方,改为你自己的,注意:content里的内容除了变量#code#,其他的需要和你的模版内容一样。

import java.io.*;import .HttpURLConnection;import .MalformedURLException;import .URL;import com.google.gson.Gson;/*** * 类描述: 发送短信验证码 (次数 状态 时间 code 手机号)* 项目名称:store * 类名称:SendSMS* 创建人:ZLY * 创建时间:4月15日 下午5:40:53* 备注:*/public class SendSMSUtil {/*** 发送短信验证码* @param phone 手机号码* @param tpl_id 模板ID* @param code 验证码* @author ZLY * @date 4月15日 下午5:42:03* @param*/public static boolean sendPaste(String phone, String tpl_id, String code) {//if(!ContastValue.FORMALSERVER){//return false;//}Gson gson = new Gson();try {//接口url,其他接口的话,地址不一样,方法通用URL url = new URL("/sms/sendv2");HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setDoOutput(true);connection.setDoInput(true);connection.setUseCaches(false);connection.setRequestMethod("POST");//connection.setInstanceFollowRedirects(true);connection.setConnectTimeout(60000);connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");StringBuffer params = new StringBuffer();connection.connect();params.append("key=你自己的key").append("&").append("mobile=").append(phone).append("&").append("tpl_id=" + tpl_id).append("&").append("content=").append(" 【英雄联盟】欢迎您注册英雄联盟,您的验证码为"+code+",请勿泄漏于他人!");OutputStream outputStream = connection.getOutputStream();byte[] data = params.toString().getBytes("UTF-8");outputStream.write(data);outputStream.flush();outputStream.close();BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;while ((line = reader.readLine()) != null) {ResultJsonBean resultJsonBean = gson.fromJson(line, ResultJsonBean.class);System.out.println(resultJsonBean.toString());if (resultJsonBean != null) {if ("0".equals(resultJsonBean.getError_code())) {return true;} else {return false;}}}reader.close();connection.disconnect();} catch (MalformedURLException e) {System.out.println(e.toString());e.printStackTrace();} catch (IOException e) {System.out.println(e.toString());e.printStackTrace();} catch (Exception e) {System.out.println(e.toString());e.printStackTrace();}return false;}//测试public static void main(String[] args) {String code = (int) ((Math.random() * 9 + 1) * 100000) + "";sendPaste("你的手机号", "你的模版id", code);}}

ResultJsonBean.java

/*** * 类描述: 发短信时候gson.fromJson的返回类* 项目名称:store * 类名称:ResultJsonBean* 创建人:ZLY * 创建时间:4月15日 下午5:40:47* 备注:*/public class ResultJsonBean {private String error_code; private String reason ;private String result ;public String getError_code() {return error_code;}public void setError_code(String error_code) {this.error_code = error_code;}public String getReason() {return reason;}public void setReason(String reason) {this.reason = reason;}public String getResult() {return result;}public void setResult(String result) {this.result = result;}@Overridepublic String toString() {return "ResultJsonBean [error_code=" + error_code + ", reason="+ reason + ", result=" + result + "]";}}

控制台成功,手机接到短信。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。