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


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

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


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

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


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

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


扫描二维码关注公众号,回复: 1737566 查看本文章

对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

[java]  view plain  copy
  1. package com.miaodiyun.httpApiDemo;  
  2.   
  3. import com.miaodiyun.httpApiDemo.common.Config;  
  4. import com.miaodiyun.httpApiDemo.common.HttpUtil;  
  5.   
  6. /** 
  7.  * 验证码通知短信接口 
  8.  *  
  9.  * @ClassName: IndustrySMS 
  10.  * @Description: 验证码通知短信接口 
  11.  * 
  12.  */  
  13. public class IndustrySMS  
  14. {  
  15.     private static String operation = "/industrySMS/sendSMS";  
  16.   
  17.     private static String accountSid = Config.ACCOUNT_SID;  
  18.     private static String to = "1361305****";  
  19.     private static String smsContent = "【秒嘀科技】您的验证码是345678,30分钟输入有效。";  
  20.   
  21.     /** 
  22.      * 验证码通知短信 
  23.      */  
  24.     public static void execute()  
  25.     {  
  26.         String url = Config.BASE_URL + operation;  
  27.         String body = "accountSid=" + accountSid + "&to=" + to + "&smsContent=" + smsContent  
  28.                 + HttpUtil.createCommonParam();  
  29.   
  30.         // 提交请求  
  31.         String result = HttpUtil.post(url, body);  
  32.         System.out.println("result:" + System.lineSeparator() + result);  
  33.     }  
  34. }  

猜你喜欢

转载自blog.csdn.net/qq_34530405/article/details/80743183