ITPub博客

首页 > IT职业 > IT职场 > 用Java解决项目对接短信验证码难问题:OkHttp和Unirest介绍

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

原创 IT职场 作者:中昱维信 时间:2020-11-25 11:09:38 0 删除 编辑

这几个月都在用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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
打工人,打工就是人上人:www.veesing.com/

注册时间:2018-08-03

  • 博文量
    22
  • 访问量
    25452