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

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

价格:

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。

请求示例:

1url: 2 3 https://api.miaodiyun.com/20150822/industrySMS/sendSMS 4 5post数据: 6 7 accountSid=a14f6bfd43ce44c9b019de57f4e2de4b&smsContent=【秒嘀科技】】您的验证码是34567830分钟输入有效。 8 &to=13896543210&timestamp=20150821100312&sig=a14f6bfd43ue44c9b019du57f4e2ee4r&respDataType=JSON

返回参数说明

参数名称

类型

约束

说明

respCode

String

必选

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

failCount

String

必选

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

failList

String

可选

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

smsId

String

必选

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

返回示例:

JSON返回包体:

1{ 2 "respCode":"00000", 3 "failCount":"1", 4 "failList": 5 [ 6 { 7 "phone":"13896543210", 8 "respCode":"00111" 9 } 10 ], 11 "smsId":"913945fec0204b1e94baa75a5c013f59" 12 }

XML返回包体:

1<?xml version="1.0" encoding="utf-8"?> 2 <result> 3 <respCode>00000</respCode> 4 <smsId>913945fec0204b1e94baa75a5c013f59</smsId> 5 <failCount>1</failCount> 6 <failList> 7 <phone>13896543210 </phone> 8 <respCode>00111 </respCode> 9 </failList> 10 </result>

最核心的类是IndustrySMS

点赞
收藏

评论区

加载中...

相关推荐

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

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

PHP短信验证码防刷方案

短信验证码是通过发送验证码到手机的一种有效的验证码系统。利用短信验证码来注册会员,大大降低了非法注册的数据。

如何读取redis的手机号验证码数据,实现自动化登录测试

1、案例描述用户选择短信登录!发送短信后,后端接口逻辑已把验证码缓存在redis,!在apifox上定义对应下发登录短信接口,短信登录接口下载地址:这时候问题就来了,怎么样才能让apifox自动获取下发登录短信接口对应的手机号的验证码,自动填充到短信登录接口的code字段?2、解决思路方案一:后端通过接口返回验证码

验证码短信API的应用场景有哪些你知道嘛?

短信验证码已经影响到了我们生活方方面面,成为了不可或缺的一部分。同时,短信验证码也是用户体验中的一个重要指标,如果手机经常出现接收验证码很慢甚至是没有接收到验证码的情况,这就会严重影响到网站或者APP的用户体验,从而导致大量用户的流失。短信验证码如此重要,那个短信验证码API也是必不可少的,这篇文章我就来说说短信验证码API的应用场景

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