美文网首页Java 杂谈
用Java实现第三方验证码,竟然只要100行代码!

用Java实现第三方验证码,竟然只要100行代码!

作者: a847c1ac3b3f | 来源:发表于2019-05-19 16:56 被阅读2次

    现在在网络上哪个网站、软件、游戏等等都需要用手机号来注册账号,可能自己往往只有一个手机号,又想注册多个账号,手机号不够用怎么办?

    可以用第三方收短信平台获取一个手机号,注册时填写这个手机号,然后用平台返回的验证码来注册账号。这样,我们就可以不用自己的手机号注册各种账号了,同时也可以多领注册奖励了。

    发送短信验证码的原理是:随机生成一个6位数字,将该6位数字保存到session当中,客户端通过sessionid判断对应的session,用户输入的验证码再与session记录的验证码进行比较。

    一般的第三方短信平台都会有他们自己的短信接口,只要读懂他们的接口稍作稍作改变就能满足自己的需求。

    首先将短信平台接口代码列出:这里要下载三个jar包commons-logging-1.1.1.jarcommons-httpclient-3.1.jarcommons-codec-1.4.jar

    实现代码如下:

    不难看出,我们想要发送的信息是在这行代码里面:NameValuePair[] data ={ new NameValuePair("Uid", "本站用户名"),new NameValuePair("Key", "接口安全秘钥"),new NameValuePair("smsMob","手机号码"),new NameValuePair("smsText","验证码:8888")};

    该接口中还有一个result信息,它的作用是告诉用户短信发送的状态,1表示发送成功,其他的小于0的为失败,这里只要知道1是成功即可。

    我们实际的操作中,验证码肯定是要我们自己生成的。将result信息与验证码一起得到,于是很容易想到用一个HashMap集合。下面是以项目自己的需求对接口的更改:

    ***表示的是在第三方平台注册的账号密码。

    ACTION层:

    这样就能发送成功了。

    测试:

    利用POSTMAN在本地进行测试:

    实现效果如下:

    如果有想学习java的同学,可来我们的java技术学习QQ群:928204055,免费送整套系统的java视频教程!我每晚上8点还会在群内直播讲解Java知识,这是一个仅供粉丝朋友们学习交流的群,欢迎大家前来学习哦~不是学习Java的小伙伴非诚勿扰哦下面是部分资料截图:

    欢迎关注胖胖爱Java的简书号,可视化学习java,每天更新文章,让Java学习更加简单。

    声明:本文内容来源于网络,如有侵权请联系删除

    相关文章

      网友评论

        本文标题:用Java实现第三方验证码,竟然只要100行代码!

        本文链接:https://www.haomeiwen.com/subject/lsqqzqtx.html