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短信通接口

目录
相关文章
|
5天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
23 11
|
6天前
|
安全 Java API
java借助代理ip,解决访问api频繁导致ip被禁的问题
java借助代理ip,解决访问api频繁导致ip被禁的问题
|
8天前
|
存储 安全 Java
说说Java 8 引入的Stream API
说说Java 8 引入的Stream API
12 0
|
9天前
|
分布式计算 Java API
Java 8新特性之Lambda表达式与Stream API
【4月更文挑战第16天】本文将介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种新的编程语法,它允许我们将函数作为参数传递给其他方法,从而使代码更加简洁、易读。Stream API是Java 8中引入的一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而使代码更加简洁、高效。本文将通过实例代码详细讲解这两个新特性的使用方法和优势。
|
9天前
|
安全 Java API
RESTful API设计与实现:Java后台开发指南
【4月更文挑战第15天】本文介绍了如何使用Java开发RESTful API,重点是Spring Boot框架和Spring MVC。遵循无状态、统一接口、资源标识和JSON数据格式的设计原则,通过创建控制器处理HTTP请求,如示例中的用户管理操作。此外,文章还提及数据绑定、验证、异常处理和跨域支持。最后,提出了版本控制、安全性、文档测试以及限流和缓存的最佳实践,以确保API的稳定、安全和高效。
|
12天前
|
存储 Java 关系型数据库
掌握Java 8 Stream API的艺术:详解流式编程(一)
掌握Java 8 Stream API的艺术:详解流式编程
46 1
|
22天前
|
前端开发 Java API
构建RESTful API:Java中的RESTful服务开发
【4月更文挑战第3天】本文介绍了在Java环境中构建RESTful API的重要性及方法。遵循REST原则,利用HTTP方法处理资源,实现CRUD操作。在Java中,常用框架如Spring MVC简化了RESTful服务开发,包括定义资源、设计表示层、实现CRUD、考虑安全性、文档和测试。通过Spring MVC示例展示了创建RESTful服务的步骤,强调了其在现代Web服务开发中的关键角色,有助于提升互操作性和用户体验。
构建RESTful API:Java中的RESTful服务开发
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
92 3
|
1月前
|
分布式计算 Java 程序员
Java 8新特性之Lambda表达式与Stream API
本文将详细介绍Java 8中的两个重要新特性:Lambda表达式和Stream API。Lambda表达式是Java 8中引入的一种简洁、匿名的函数表示方法,它允许我们将函数作为参数传递给其他方法。而Stream API则是一种新的数据处理方式,它允许我们以声明式的方式处理数据,从而提高代码的可读性和可维护性。通过本文的学习,你将能够掌握Lambda表达式和Stream API的基本用法,以及如何在项目中应用这两个新特性。
31 10
|
1月前
|
Java API 数据处理
Java 8新特性之Lambda表达式与Stream API
本文将介绍Java 8中的两个重要特性:Lambda表达式和Stream API。Lambda表达式是一种新的语法结构,允许我们将函数作为参数传递给方法。而Stream API则是一种处理数据的新方式,它允许我们对数据进行更简洁、更高效的操作。通过学习这两个特性,我们可以编写出更简洁、更易读的Java代码。