java 实现SMS api 短信发送

简介: java 实现SMS api 短信发送

因为做的是第三方短信通知,期间选择的多家(阿里云短信,极光,中证云等),都是因为需要一家公司绑定一个端口,比较麻烦,后边综合考虑选型到【网建短信通】,以下是一些对接事宜,希望可以帮到一些需要的朋友

文中蓝色字体有链接的地方都可以转接到短信通短信平台

SMS短信通API下行接口参数 短信上行回复API

重要提示:用接口发送验证码的程序员注意,近期短信验证码轰炸软件泛滥,请在发送验证码的时候,加上一个图形校验码验证,防止机器人读取狂发验证码!!!不明事宜请联系客服咨询。发送手机验证码请做好以下几点防范:

发送验证码1分钟只能点击发送1次;

相同IP手机号码1天最多提交20次;

验证码短信单个手机号码30分钟最多提交10次;

在提交页面加入图形校验码,防止机器人恶意发送;

在发送验证码接口程序中,判断图形校验码输入是否正确;

新用户用接口测试验证码时,请勿输入:测试等无关内容信息,请直接输入:验证码:xxxxxx,发送。

接口发送触发短信时,您可以把短信内容提供给客服绑定短信模板,绑定后24小时即时发送。未绑定模板的短信21点以后提交,隔天才能收到。

 

GBK编码发送接口地址:

http://gbk.api.smschinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888  

UTF-8编码发送接口地址:

http://utf8.api.smschinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888

获取短信数量接口地址(UTF8):

http://www.smschinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用户名&Key=接口安全秘钥

获取短信数量接口地址(GBK):

http://www.smschinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用户名&Key=接口安全秘钥

提示:HTTP调用URL接口时, 参数值必须URL编码后再调用

image.png

多个手机号请用半角,隔开

如:13888888886,13888888887,1388888888 一次最多对100个手机发送

短信内容支持长短信,最多400字,普通短信70个字/条含签名,长短信64字/条计费

image.png

image.png

注:调用API接口,请登录平台,申请106网关发送,即发即到!

 发送测试短信请勿输入:短信测试等词语,请直接提交您要发送的短信内容;

 接口发送短信时请在内容后加签名:【XX公司或XX网名称】,否者会被屏蔽。

 短信签名可在用户平台平台上设置,也可以在短信内容后,直接加入。

JAVA调用

import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class SendMsg_webchinese {
public static void main(String[] args)throws Exception
{
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.api.smschinese.cn"); 
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
NameValuePair[] data ={ new NameValuePair("Uid", "本站用户名"),new NameValuePair("Key", "接口安全秘钥"),new NameValuePair("smsMob","手机号码"),new NameValuePair("smsText","验证码:8888")};
post.setRequestBody(data);
client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Header h : headers)
{
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes("gbk")); 
System.out.println(result); //打印返回消息状态
post.releaseConnection();
}
}

jar包下载

commons-logging-1.1.1.jar

commons-httpclient-3.1.jar

commons-codec-1.4.jar

演示程序下载

java_dome.rar  

说明:如果返回值是200,应该是整段程序代码没有执行完整,只获取到client.executeMethod(post)HTTP状态码的消息;接口是提交成功,没有执行下半部的返回消息代码。

client.executeMethod(post);HTTP状态码参考:HTTP状态码_百度百科

API 地址:短信平台接口_短信API接口_短信通接口_106短信接口_网建SMS短信通接口

目录
相关文章
|
9月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
9月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
412 100
|
9月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
391 101
|
9月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
493 101
|
9月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
545 116
|
9月前
|
存储 数据可视化 Java
Java Stream API 的强大功能
Java Stream API 是 Java 8 引入的重要特性,它改变了集合数据的处理方式。通过声明式语法,开发者可以更简洁地进行过滤、映射、聚合等操作。Stream API 支持惰性求值和并行处理,提升了代码效率和可读性,是现代 Java 开发不可或缺的工具。
192 0
Java Stream API 的强大功能
|
10月前
|
安全 Java API
Java日期时间API:从Date到Java.time
本文深入解析了Java 8中引入的全新日期时间API,涵盖LocalDate、LocalTime、LocalDateTime、ZonedDateTime等核心类的使用,以及时间调整、格式化、时区处理和与旧API的互操作。通过实例对比,展示了新API在可变性、线程安全与易用性方面的显著优势,并提供迁移方案与实战技巧,助你掌握现代Java时间处理的最佳实践。
|
10月前
|
存储 NoSQL Java
Java Stream API:集合操作与并行处理
Stream API 是 Java 8 提供的集合处理工具,通过声明式编程简化数据操作。它支持链式调用、延迟执行和并行处理,能够高效实现过滤、转换、聚合等操作,提升代码可读性和性能。
|
10月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
476 188
|
10月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
386 92