JAVA接入短信接口,实现短信验证码功能

Wesley13
• 阅读 509

最近网站要加短信验证功能,不得不要折腾一番。好了,不多说了,说一下过程。首先是短信服务商的选择,以前没接触过,只能找度娘了,找了三家,对比一下。

价格:

1、秒嘀科技 - 短信接口、短信验证码、语音验证码、短信平台

最低充值120,单价0.048元/条;一次性充值36000时,单价0.036/条

2、容联云通讯_提供通话、短信、视频、呼叫中心、IM、流量等通讯能力

基础价0.06元/条;当一年期帐内余额达到30000时,单价0.45/条

3、创蓝-253.com为您的每一条短信验证码负责!

最低充值3600,单价0.06元/条;一次性充值50000时,单价0.05/条

对java接口文档的支持,三家都还不错;短信接收速度都在十秒之内(测试期间),可以接受;由于是个人开发者,对于价格就很敏感了,一开始就充个万把千,顶不住啊。权衡之下,选择了秒嘀科技,价格相对便宜的多,短信接收速度也在伯仲之间。

下载 java 短信接口 DEMO,了解了下文档结构,短信接口是通过POST提交URL的形式对接的。

请求地址:

https://api.miaodiyun.com/20150822/industrySMS/sendSMS

请求方式:

POST

编码格式:

UTF-8

响应格式:

JSON,XML

请求包头:

Content-type:application/x-www-form-urlencoded

请求参数说明

参数名称

类型

约束

说明

accountSid

String

必选

开发者主账号ID(ACCOUNT SID)。由32个英文字母和阿拉伯数字组成的开发者账号唯一标识符。

smsContent

String

必选

短信内容。(短信签名+短信内容。如【秒嘀科技】您的验证码是345678,30分钟输入有效。)

to

String

必选

短信接收端手机号码集合。用英文逗号分开,每批发送的手机号数量不得超过100个。

portNumber

String

可选

平台分配给开发者的端口号,暂不支持。

timestamp

String

必选

时间戳。当前系统时间(24小时制),格式"yyyyMMddHHmmss"。时间戳有效时间为5分钟。

sig

String

必选

签名。MD5(ACCOUNT SID + AUTH TOKEN + timestamp)。共32位(小写)。

注意:MD5中的内容不包含”+”号。

respDataType

String

可选

响应数据类型,JSON 或 XML 格式。默认为JSON。

请求示例:

url:

    https://api.miaodiyun.com/20150822/industrySMS/sendSMS
    
post数据:

     accountSid=a14f6bfd43ce44c9b019de57f4e2de4b&smsContent=【秒嘀科技】】您的验证码是345678,30分钟输入有效。
     &to=13896543210&timestamp=20150821100312&sig=a14f6bfd43ue44c9b019du57f4e2ee4r&respDataType=JSON

返回参数说明

参数名称

类型

约束

说明

respCode

String

必选

请求状态码,取值00000(成功: 此步响应只表明客户的短信请求发送成功,不表明短信通道已经发送短信成功。) 具体可参照《附:返回状态码列表》

failCount

String

必选

表示验证码通知短信发送失败的条数。

failList

String

可选

失败列表,包含失败号码、失败原因。

smsId

String

必选

短信标识符。一个由32个字符组成的短信唯一标识符。

返回示例:

JSON返回包体:

{
    "respCode":"00000",
    "failCount":"1",
    "failList":
    [
        {
            "phone":"13896543210",
            "respCode":"00111"
        }
    ],
    "smsId":"913945fec0204b1e94baa75a5c013f59"
    }

XML返回包体:

<?xml version="1.0" encoding="utf-8"?>
   <result>
       <respCode>00000</respCode>
       <smsId>913945fec0204b1e94baa75a5c013f59</smsId>
       <failCount>1</failCount>
       <failList>
          <phone>13896543210 </phone>
          <respCode>00111 </respCode>
    </failList>
    </result>

最核心的类是IndustrySMS

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
liam liam
1年前
如何读取redis的手机号验证码数据,实现自动化登录测试
1、案例描述用户选择短信登录!发送短信后,后端接口逻辑已把验证码缓存在redis,!在apifox上定义对应下发登录短信接口,短信登录接口下载地址:这时候问题就来了,怎么样才能让apifox自动获取下发登录短信接口对应的手机号的验证码,自动填充到短信登录接口的code字段?2、解决思路方案一:后端通过接口返回验证码
不是海碗 不是海碗
1年前
验证码短信API的应用场景有哪些你知道嘛?
短信验证码已经影响到了我们生活方方面面,成为了不可或缺的一部分。同时,短信验证码也是用户体验中的一个重要指标,如果手机经常出现接收验证码很慢甚至是没有接收到验证码的情况,这就会严重影响到网站或者APP的用户体验,从而导致大量用户的流失。短信验证码如此重要,那个短信验证码API也是必不可少的,这篇文章我就来说说短信验证码API的应用场景
宙哈哈 宙哈哈
1年前
PHP短信验证码防刷方案
短信验证码是通过发送验证码到手机的一种有效的验证码系统。利用短信验证码来注册会员,大大降低了非法注册的数据。
Wesley13 Wesley13
2年前
thinkphp集成系列之短信验证码、订单通知
现在这个短信通知泛滥的年代;应用如果没有个短信注册;你都不敢说你是搞开发的;这个验证码搞起来是不难的;但是如果刚接触也是有点不知从哪下手的迷茫;先讲下概念;1:找一个靠谱的短信验证码平台;推荐如下使用过的;下面以容联云通讯为例;其他平台一个道理;    阿里大鱼:http://www.alidayu.com/service?spma314
曼成 曼成
1星期前
验证码短信API接入 Demo 示例
验证码短信API是一种广泛应用于各类应用中的安全验证服务,它通过发送短信验证码到用户手机,以确保操作的安全性和真实性。本文将为您提供一个简单的验证码短信API接入的示例,帮助您快速理解和实现该功能。
不是海碗 不是海碗
11个月前
验证码短信 API 接入指南:Java 语言示例代码
短信验证码是一种通过短信发送的验证码,通常用于验证用户的身份、保障账户安全和防止恶意攻击等。短信验证码已经成为现代社会中不可或缺的一部分,广泛应用于各种场景,包括用户注册和登录、找回密码等等。为了满足企业在账户安全验证和业务发展方面的需求,验证码短信API
不是海碗 不是海碗
10个月前
语音验证码短信原理和应用场景分析
引言随着移动互联网的快速发展,短信验证码成为了许多应用和服务中常用的身份验证方式。然而,有时候用户可能由于各种原因无法接收到短信验证码,或者对于文字验证码不够方便或友好。为了解决这些问题,语音验证码短信API应运而生。该API提供了语音验证码服务,通过拨打
不是海碗 不是海碗
9个月前
了解短信的实现原理以及验证码短信API
短信作为一种便捷、快速的通信方式,已经在我们的日常生活中得到广泛应用。无论是个人通信、企业沟通还是身份验证等场景,短信都发挥着重要的作用。而实现短信功能的核心是短信实现原理和验证码短信API。
E小媛同学 E小媛同学
5个月前
APISpace 验证码短信API接口案例代码
APISpace验证码短信API接口案例代码