这几个月都在用java 做 一个企业的积分商城 系统, 需要用户用手机号码进行注册登录,所以需要接入一个短信验证码进去。
短信验证码实现流程
1
、构造手机验证码,生成一个
4
位的随机数字串;
2
、使用接口向短信平台发送手机号和验证码,然后短信平台再把验证码发送到
用户提交的
手机号上
3
、将手机号验证码、操作时间存入
Session
中,作为后面验证使用;
4
、接收用户填写的验证码、手机号及其他注册数据;
5
、对比提交的验证码与
Session
中的验证码是否一致,同时判断提交动作是否在有效期内;
6
、验证码正确且在有效期内,请求通过,处理相应的业务。
这里有两种方法接入短信验证码,一是通过OkHttp 方法:
OkHttpClient client = new OkHttpClient().newBuilder()
.followRedirects(false)
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded;charset=utf-8");
RequestBody body = RequestBody.create(mediaType, "appId=41KYR0EB****&appKey=IIWCKKSR7NOQ****&phone=1561894****&templateId=1043&variables=1234");
Request request = new Request.Builder()
.url("https://vip.veesing.com/smsApi/verifyCode")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8")
.build();
Response response = client.newCall(request).execute();
二是通过Unirest 方法:
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://vip.veesing.com/smsApi/verifyCode")
.header("Content-Type", "application/x-www-form-urlencoded;charset=utf-8")
.field("appId", "41KYR0EB****")
.field("appKey", "IIWCKKSR7NOQ****")
.field("phone", "1561894****")
.field("templateId", "1043")
.field("variables", "1234")
.asString();
以上就是全部内容,有疑问的小伙伴可以在评论区留言。
Java - OkHttp.java和Java - Unirest.java文件.zip
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31548553/viewspace-2736715/ ,如需转载,请注明出处,否则将追究法律责任。