前言

本文记录的是使用中国网建的SMS短信平台,使用前需要注册,这里只记录SMS接口的使用。

1、登录http://sms.webchinese.cn/User/?action=key网站注册。

2、注册后直接登录。

3、登录成功后,首先找到短信秘钥,调接口需要。

找到秘钥后,要先把签名的内容填入,这样在调接口后会验证签名的。网站也有API接口调用案例(短信API接口菜单)。

4、POM引入

        <dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.10</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency><dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version></dependency>

5、SendMsgUtil工具类。

本工具类使用的是GBK编码发送接口,每个注册的用户有5条免费的。

GBK编码发送接口地址:
http://gbk.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容 
UTF-8编码发送接口地址:
http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
获取短信数量接口地址(UTF8):
http://sms.webchinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用户名&Key=接口安全密
获取短信数量接口地址(GBK):
http://sms.webchinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用户名&Key=接口安全密码

package com.example.mybaties.utils;import lombok.extern.slf4j.Slf4j;
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;import java.io.IOException;
import java.util.HashMap;/*** @author LST* @version 1.0* @Description: 短信发送类* @date 2020-1-16 14:45*/
@Slf4j
public class SendMsgUtil {public static HashMap<String,String> getMessageStatus(String phone){HashMap<String,String> map = new HashMap<String,String>();HttpClient client = new HttpClient();PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn"); //sms平台接口post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置编码集格式int num = (int)((Math.random()*9+1)*100000);//6位数验证码String code= String.valueOf(num);NameValuePair[] data ={new NameValuePair("Uid", "用户名"),//sms平台的用户名new NameValuePair("Key", "短信秘钥"),//短信秘钥,不是密码new NameValuePair("smsMob",phone),//目的手机号码,多个手机号用半角逗号隔开new NameValuePair("smsText","本次验证码为:"+code+""+",有效时间为5分钟")//短信内容,自定义};map.put("code", code);post.setRequestBody(data);try {client.executeMethod(post);} catch (IOException e) {e.printStackTrace();}//打印状态码和响应头信息int statusCode = post.getStatusCode();log.info("statusCode:{}",statusCode);Header[] headers = post.getResponseHeaders();for(Header h : headers) {log.info(h.toString());}String result = null;try {result = new String(post.getResponseBodyAsString().getBytes("gbk"));} catch (IOException e) {e.printStackTrace();}log.info(result); //打印返回的消息状态map.put("result", result);post.releaseConnection();return map;}public static void main(String[] args) {getMessageStatus("手机号码");}}

下图是发送到我手机上的短信内容

6、返回code

短信发送后返回值 说 明
-1 没有该用户账户
-2 密钥不正确(不是用户密码)
-3 短信数量不足
-11 该用户被禁用
-14 短信内容出现非法字符
-4 手机号格式不正确
-41 手机号码为空
-42 短信内容为空
大于0 短信发送数量

Java通过SMS短信平台实现发短信功能相关推荐

  1. java 短信平台_Java通过SMS短信平台实现发短信功能

    本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了.在使用前需要注册,注册地址为http://sms.webchinese. ...

  2. java创建短信平台_Java通过SMS短信平台实现发短信功能

    前言 本文记录的是使用中国网建的SMS短信平台,使用前需要注册,这里只记录SMS接口的使用. 2.注册后直接登录. 3.登录成功后,首先找到短信秘钥,调接口需要. 找到秘钥后,要先把签名的内容填入,这 ...

  3. java通过SMS短信平台实现发短信的功能

    一.使用java发送短信的方法: java发送手机短信,通常有几种方法: (1)使用webserive接口发送手机短信: (2)使用短信猫的方式进行短信的发送,比较常用的方式,不过需要购买硬件设备: ...

  4. java使用socket连接4G DTU设备发短信

    java使用socket连接4G DTU设备发短信测试Demo import java.io.IOException; import java.io.OutputStream; import java ...

  5. wavecom java_使用java操作wavecom短信猫来发短信的方法|实例源码介绍

    使用java操作wavecom短信猫来发短信的方法|实例源码介绍.由于业务的需要,用java实现了用wavecom短信猫发短信的功能,本来这个应该用随猫购买的二次开发接口实现的,但由于这几台猫买的时候 ...

  6. 企业短信平台 php,梅州PHP短信平台企业,PHP短信平台

    梅州PHP短信平台企业,PHP短信平台 现如今,很多企业在短信验证码平台时,难免会遇到这样的问题"如何评判一家短信验证码平台",因为大多数企业不想换了又换,这样不仅浪费了金钱,而且 ...

  7. 如何用短信平台发送自定义短信?

    我们经常会收到各类短信,如何用短信平台给用户发送自定义短信呢? 其实很简单,具体方法和步骤如下: 1.注册平台账号 以速盟云信短信平台为例,点击官网右上面的"注册"按钮,注册并登录 ...

  8. java+调用飞信_java调用飞信接口发短信

    java调用飞信接口发短信,看到挺好的,有利于大家做毕业设计加亮点,就发给大家了(新人发帖,不会发多个文件名,测试类就放这了) 需要这3个jar包: commons-codec-1.4.jar com ...

  9. wavecom java_使用java操作wavecom短信猫来发短信的方法

    由于业务的需要,今天用java实现了用wavecom短信猫发短信的功能,本来这个应该用随猫购买的二次开发接口实现的,但由于这几台猫买的时候,经销商没有提供二次开发接口,所以我不得不在网上找了资料,自己 ...

最新文章

  1. 铅笔线的阻抗有多大?
  2. Spring Cloud Alibaba:Sentinel 热点参数限流
  3. vscode只有utf8_基于VSCode搭建LaTeX写作环境
  4. Spring.Net学习笔记(2)-依赖注入
  5. 利用python爬虫(part16)--json解析模块
  6. 2015年,Web 进入移动时代
  7. C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 - C语言零基础入门教程
  8. echaer 地图_ECharts地图系列
  9. 我忽然发现我写的cve漏洞管理系统简直就是redmine的一个小模块
  10. Java动态代理一览笔录
  11. SQLite判断表是否存在
  12. 2008年希赛软考学院招生
  13. STC15单片机-RS-485通信
  14. c语言中fprintf的作用,c语言中fprintf的用法
  15. 如何区分电梯卡为id卡ic卡_UID卡是什么?和IC卡、ID卡有什么区别?
  16. 请将文件MP_verify_xxxxxx.txt上传至填写域名或路径指向的web服务器(或虚拟主机)的目录 曲线救国
  17. BasicRF学习心得
  18. hibernate4配置c3p0连接池报错
  19. wxpython 右键菜单_使用wxPython打造印象笔记(14)笔记本管理
  20. Libgdx介绍及环境安装

热门文章

  1. 安装project2016失败:Windows Installer和即点即用版本的Office程序不能并行
  2. python实现视频ai换脸_python 实现 AI 换脸
  3. java 三边求面积_已知三角形的三边长如何求面积?
  4. 【C语言】给出三角形三边长,求三角形面积
  5. 计算机桌面分区,明基XL2430T如何使用桌面分区?
  6. 输出菱形(C语言,萌新向)
  7. 2015计算机基础知识,计算机基础知识题库【2015版】
  8. Android高级面试题精选
  9. 【常用芯片】ULN2003工作原理及中文资料(实例:STM32驱动28BYJ48步进电机)
  10. 访问hfds报错AccessControlException