net项目对接java平台_用Java解决项目对接短信验证码难问题:OkHttp和Unirest介绍

这几个月都在用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 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();

以上就是全部内容,有疑问的小伙伴可以在评论区留言。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值