首先,很多第三方短信验证码都可以,为什么我要选择mob的呢?

因为mob的短信验证码是完全免费

并且支持IOS,Android,Unity3d,Cocos2d-X的集成

Mob的官网:全球领先的数据智能科技平台-MobTech袤博

Mob官方文档:http://www.mob.com/api/documentList

那Java怎么用呢?

其实MOB开发文档中有详细的介绍。

使用MOB不需要导入任何依赖,只需要把接口文档Java语言的代码拷贝下来

主要有两个方法:

1.requestData()这个是发送验证请求的方法

/*** 发起https 请求* @param address* @param params* @return*/public  static String requestData(String address ,String params){HttpURLConnection conn = null;try {// Create a trust manager that does not validate certificate chainsTrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager(){public X509Certificate[] getAcceptedIssuers(){return null;}public void checkClientTrusted(X509Certificate[] certs, String authType){}public void checkServerTrusted(X509Certificate[] certs, String authType){}}};// Install the all-trusting trust managerSSLContext sc = SSLContext.getInstance("TLS");sc.init(null, trustAllCerts, new SecureRandom());//ip host verifyHostnameVerifier hv = new HostnameVerifier() {public boolean verify(String urlHostName, SSLSession session) {return urlHostName.equals(session.getPeerHost());}};//set ip host verifyHttpsURLConnection.setDefaultHostnameVerifier(hv);HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());URL url = new URL(address);conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");// POSTconn.setConnectTimeout(3000);conn.setReadTimeout(3000);// set params ;post paramsif (params!=null) {conn.setDoOutput(true);DataOutputStream out = new DataOutputStream(conn.getOutputStream());out.write(params.getBytes(Charset.forName("UTF-8")));out.flush();out.close();}conn.connect();//get resultif (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {String result = parsRtn(conn.getInputStream());return result;} else {System.out.println(conn.getResponseCode() + " "+ conn.getResponseMessage());}} catch (Exception e) {e.printStackTrace();} finally {if (conn != null) {conn.disconnect();}}return null;}

返回的result中有返回值和状态描述

2.parsRtn()方法,这个方法是获取返回数据

在MOB的JAVA样例程序: GitHub - tian-github/Mob_SmsSpi中可以看到

/*** 获取返回数据* @param is* @return* @throws IOException*/private static String parsRtn(InputStream is) throws IOException {BufferedReader reader = new BufferedReader(new InputStreamReader(is));StringBuffer buffer = new StringBuffer();String line = null;boolean first = true;while ((line = reader.readLine()) != null) {if(first){first = false;}else{buffer.append("\n");}buffer.append(line);}return buffer.toString();}

也是直接拷过来,这两个方法我都写成静态static了,方便调用

发送请求

String result=方法所在类.requestData(verifyUrl,params);

静态方法直接通过类.方法来调用

在官方的文档中

verifyUrlhttps://webapi.sms.mob.com/sms/verify,请求的 URL这个是固定的

params包括了以下参数

params的请求格式是appkey=xxxx&phone=xxxx&zone=86&&code=xxxx

result是一个JSON格式的字符串,如果想要提取出里面的状态码,可以使用fastjson

JSON.parseObject(result).get("status").toString(),这样就取出了String类型的状态码

根据不同的状态码就可以判断验证是否通过

作者:意识流丶

链接:使用Mob进行短信使用Mob进行短信验证码发送 - 简书使用Mob进行短信

来源:简书

使用Mob进行短信验证码发送相关推荐

  1. QPW 手机短信验证码发送日志表(tf_sms_send_log)

    文章目录 手机短信验证码发送日志表 需求说明 手机短信验证码发送日志表 CREATE TABLE `tf_sms_send_log` (`send_id` bigint(11) NOT NULL AU ...

  2. php调用nexmo发送短信,在 Laravel 中 “规范” 的开发短信验证码发送功能

    Laravel简介 Laravel是一套简洁.优雅的PHP Web开发框架(PHP Web Framework).它可以让你从面条一样杂乱的代码中解脱出来:它可以帮你构建一个完美的网络APP,而且每行 ...

  3. flask项目之5:短信验证码发送

    概述: 短信验证码的发送需要限制验证码的发送间隔不能不停的发,因为测试时发送的验证码是要花钱的,不可能不花钱就办事 短信验证码要根据图片验证码是不是正确再进行发, 进行短信验证码的实验要测试容联云平台 ...

  4. 手机短信验证码发送(106短信验证码发送)

    打开网页地址栏输入:http://www.106jiekou.com/ 需要用户注册,登陆,在上边购买短信,大概是10块钱100条, 买完之后可以直接下载接口说明文档和源代码的案例,是个压缩包 cu- ...

  5. 网易云信-短信验证码发送、验证

    提示:本文仅记录本人工作中遇到的难点与个人见解,仅供参考,如有问题请见谅. 目录 前言 一.网易云信短信服务是什么? 二.使用步骤 1.创建网易云信工具类CheckSumBuilder 2.短信验证码 ...

  6. 怎样避免短信验证码发送失败

    大家都知道生活中短信验证码是必不可少的,我们更改密码,确认身份还有日常交易,或者是使用app短信平台,都会接触到短信验证码,但是有时候会遇到点击"发送验证码"后没收到短信验证码的现 ...

  7. 短信验证码发送失败的常见原因有哪些?

    短信验证码现在几乎已成为互联网各行业的标配所在,在账户注册.密码修改.支付确认等方面发挥着重要的作用.目前通过短信验证码接口接入第三方短信验证码平台的短信服务,99%以上的用户基本上都可以在几秒钟之内 ...

  8. Mob实现短信验证码功能

    1.各类第三方短信功能对比 1.一直想做一个Android短信验证码功能,但是由于业务上没有需求,还有就是短信验证码原来一直以为是收费的,就没做过,今天上网查了一下,好多第三方SDK. 网易云短信验证 ...

  9. java实现短信验证码发送(架子是springboot 服务平台选择腾讯云短信服务)

    业务需求:公司扩展新业务,新增短信验证码提醒服务,负责功能模块完善 暂时只研究了腾讯短信服务的发送(看api谁都能copy出来),短信状态回执(也挺简单,只是自己想复杂了),短信回复回执(暂时没弄明白 ...

最新文章

  1. Linux之压缩和解压缩命令
  2. 设计的核心任务之二:信息隐藏
  3. 树莓派dht11上云_树莓派使用 DHT11 / DHT22 温湿度传感器
  4. LiveVideoStackCon 2021 音视频技术大会北京站 延期通告
  5. STL源码剖析 map
  6. 【剑指offer】面试题28:对称的二叉树(Java)
  7. 二阶矩阵乘法C语言,c语言矩阵相乘
  8. Hadoop核心生态
  9. 使用pdb调试python脚本
  10. l3119双闪_打印机进纸灯和墨水灯双灯齐闪 解决方法
  11. [系统安全] 十七.Windows PE病毒概念、分类及感染方式详解
  12. 湖南华容县职业中专学校创客实训室
  13. Java io和nio的应用场景_java中IO和NIO的区别和适用场景
  14. 从初级晋级高级UI设计师学习路线+全套视频
  15. 容器三把斧之 | OverlayFS原理与实现
  16. python实现归一化与标准化
  17. js json字符串 转为json数组
  18. 计算机打印机共享无法连接不上,电脑共享打印机连接不上怎么办? 爱问知识人...
  19. Part GeoAI----当ArcGIS遇上人工智能
  20. Gitlab Custom_hooks集代码规则注释校验脚本(pre-receive)

热门文章

  1. 【原创】Themida 2260 虚拟机 FISH 初探(一)
  2. 电脑文件打不开怎么解决
  3. javamail发送/回复邮件报错: Local address contains control or whitespace in string
  4. Excel使用日历控件
  5. IDEA搜索上一个下一个搜索关键字的快捷键
  6. 电脑读不出u盘解决办法
  7. python与seo应用_Python在我SEO工作中的应用一 - 数据采集
  8. 有了Forter ,中国的跨境电商们可以安心做生意了
  9. 1092 习题6-4 有序插入
  10. java.lang.ClassNotFoundException: org.springframework.web.servlet.HandlerMapping解决方法