阿里云(短信验证)。。。。网易云短信验证
首先是根据登陆阿里云官网
点击控制台—使用支付宝登录—搜索短信服务—在右上角找到短信操作服务指南—按照里面的步骤进行就可以了
网易云短信验证
语言验证
- 登录网易网址: https://netease.im/sms
- 注册网易云账号(不实名认证)
- 创建一个应用
- 通过应用名称—>短信模板管理—>语音短信模板ID保存起来
- 语音短信—>APP Key管理----> 公钥App Key值 和App Secret值 保存起来
- 接入网易云短信接口 ---->开发手册—>短信接入示例—>Java-发送短信/语音短信验证码 复制代码到本工程中
- 查找CheckSumBuilder类---->导航栏—>产品---->IM即时通讯—>服务端API开发文档->接口概述–>CheckSumBuilder
- 导入依赖
<!--网易云短信sdk依赖-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.12</version>
</dependency><dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.13</version>
</dependency>
在controller里面写一个utils里面写一个实现类SendCode
public class SendCode {//发送验证码的请求路径URLprivate static final StringSERVER_URL="https://api.netease.im/sms/sendcode.action";//网易云信分配的账号,请替换你在管理后台应用下申请的Appkeyprivate static final StringAPP_KEY="998a55ec8ef63bc9c45a251bbaf13e09";//网易云信分配的密钥,请替换你在管理后台应用下申请的appSecretprivate static final String APP_SECRET="cbc4df35c848";//随机数private static final String NONCE="123456";//短信模板IDprivate static final String TEMPLATEID="19483113";//验证码长度,范围4~10,默认为4private static final String CODELEN="6";public static String sendCode(String phone) throws Exception {DefaultHttpClient httpClient = new DefaultHttpClient();HttpPost httpPost = new HttpPost(SERVER_URL);String curTime = String.valueOf((new Date()).getTime() / 1000L);/** 参考计算CheckSum的java代码,在上述文档的参数列表中,有CheckSum的计算文档示例*/String checkSum = CheckSumBuilder.getCheckSum(APP_SECRET, NONCE, curTime);// 设置请求的headerhttpPost.addHeader("AppKey", APP_KEY);httpPost.addHeader("Nonce", NONCE);httpPost.addHeader("CurTime", curTime);httpPost.addHeader("CheckSum", checkSum);httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");// 设置请求的的参数,requestBody参数List<NameValuePair> nvps = new ArrayList<NameValuePair>();/** 1.如果是模板短信,请注意参数mobile是有s的,详细参数配置请参考“发送模板短信文档”* 2.参数格式是jsonArray的格式,例如 "['13888888888','13666666666']"* 3.params是根据你模板里面有几个参数,那里面的参数也是jsonArray格式*/nvps.add(new BasicNameValuePair("templateid", TEMPLATEID));// 传入的手机号nvps.add(new BasicNameValuePair("mobile", phone));nvps.add(new BasicNameValuePair("codeLen", CODELEN));httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));// 执行请求HttpResponse response = httpClient.execute(httpPost);// 需要把json字符串南转换成Java对象 Map// {"code":200,"msg":"1","obj":"645931"}String jsonCode = EntityUtils.toString(response.getEntity(), "utf-8");// 解析json字符串ObjectMapper parse = new ObjectMapper();// readValue(json字符串,字节码对象)Map map = parse.readValue(jsonCode, Map.class);String code = (String) map.get("obj");return code;}
}
写一个register,html里面写获取验证码页面
<head><meta charset="UTF-8"><title>Title</title><script src="./static/js/jquery-1.12.4.min.js"></script>
</head>
<body><form action="/user/reg.do" method="post" onsubmit="return checkForm();"/>用户名:<input type="text" placeholder="用户名" id="username"/><br>手机号:<input type="text" placeholder="手机号" id="phone"/><br><input type="button" value="发送验证码" onclick = "getCode();"/><br>验证码:<input type="text" placeholder="输入验证码" onblur = "checkCode();" id="code"><span id="message"></span><input type="submit" value="提交" disabled id="sub"><br></form><script>// ajax 异步请求// 发送验证码// 定义一个验证码的变量var code = "";// 前台获取验证码function getCode() {var phone = $("#phone").val();// 手机号// 发送ajax请求$.post("front/user/getCode.do", {"phone":phone},function (data) {// 返回的是json类型的数据 ResultObject code msg data//data.data//$("#code").val(data.data);// 验证码的校验// 扩大验证码的作用范围code = data.data;});}// 校验验证码function checkCode() {var inputCode = $("#code").val();if (code == inputCode) {$("#message").html("<font color='green'>验证码正确</font>");$("#sub").attr("disabled",false);// 可以点击//$("#sub").removeAttr("disabled");// 删除disabled属性}else {$("#message").html("<font color='red'>验证码错误</font>");$("#sub").attr("disabled",true);// 不可以点击//$("#sub").attr("disabled","disabled");}}</script>
阿里云(短信验证)。。。。网易云短信验证相关推荐
- 没有任何匹配: mod_auth_mysql 阿里云_文案丨网易云让人感触良多的文案
1. 为何在评论里都是千载难逢的情圣,为何在现实里都是不堪一击的烂人? --出自网易云音乐<说散就散>热评 2. 知道你的聊天软件为什么那么安静吗? 因为你曾经为了一个人淡了所有人. -- ...
- 网易云 短信验证码+验证+tp5
废话不说 直接上代码 PHP部分 1.ServerAPI.php(这是网易云短信文档里面的代码,直接复制存在本地然后改了一些 仅供参考) <?php /*** Created by PhpSto ...
- springMVC+阿里云API = 实现发送手机验证码短信
springMVC+阿里云API = 实现发送手机验证码短信 前段时间vue框架做了一个旅游APP软件,其中在用户登录APP的时候,我不仅提供了用户可以自己手动先去注册账号在进行登陆App.然后我还提 ...
- 基于网易云短信接口开发
开发流程: 生成效验 发送验证码 短信验证 一.生成CheckSum校验 import java.security.MessageDigest; /*** 网易云短信工具类* @author dayu ...
- java发送网易云短信验证码(语音和短信)
java发送网易云短信验证码(语音和短信) 1,先拷贝架包 commons-codec commons-codec 1.10 org.apache.httpcomponents httpclient ...
- 【阿里云】阿里云跨账号内网互通
阿里云VPC对等连接提供连通两个VPC的网络连接,您可以使用私有IP地址直接通信,两个VPC就像在同一个网络中一样.您可以与自己同地域或者跨地域其他VPC之间创建对等连接,也可以与其他账号的同地域或者 ...
- 阿里云的服务器内网互通的前提条件
内网 目前阿里云的服务器内网间是千兆共享的带宽,没有特殊限制.由于是共享网络,因此无法保证带宽速度是不变的. 如果您需要两台同地域的 ECS 实例传输数据,一般建议使用内网连接.同时,RDS.SLB. ...
- 快速解决:阿里云ECS实例远程桌面连接 发生身份验证错误。要求的函数不受支持 !
三步解决问题: 本地PC 远程桌面连接 阿里云ECS实例 失败 ? 报错: "发生身份验证错误.要求的函数不受支持" ? 一.问题截图描述: 二.3步解决问题: 1. 网页版 · ...
- 使用阿里云邮件推送服务架设自己邮件验证与推送体系
提示:阅读本文需提前了解的相关知识 1.电子邮件协议(http://baike.baidu.com/view/2367542.htm) 2.阿里云邮件推送(https://www.aliyun.com ...
最新文章
- java script (二)
- 【Zookeeper】Zookeeper集群“脑裂”问题处理大全
- laravel--基础知识
- mysql 代替intersect_mysql替代INTERSECT
- can1--can初探
- BZOJ 1051: [HAOI2006]受欢迎的牛
- 中点击按钮新建widget_iOS 14-Widget开发
- SLAM数据集(1)
- C#LeetCode刷题之#633-平方数之和( Sum of Square Numbers)
- JNI开发笔记(五)--JNI语法总结
- 微软开始取消 Windows 10 对 32 位系统的支持
- winform npoi 将execl转换成datatable,导入数据库
- 程序内购买 图文攻略
- flac怎样转换成mp3格式
- IT码农哥放弃50万年薪:辞职卖咖喱凉皮
- Drupal7 常用配置
- provide inject
- 如何在Word中创建一个符合自己要求的样式
- ImageCombiner图片合成工具
- 基于CAN总线的汽车诊断协议UDS (网络层 ISO 15765)