java发送短信的实现步骤

所属分类: 软件编程 / java 阅读数: 24
收藏 0 赞 0 分享

一、在中国网建中注册用户本程序是通过中国网建提供的SMS短信平台实现的,该平台新用户注册可以拥有免费5条普通短信和3条彩信,足够进行尝试和体验了。中国网建注册地址:http://sms.webchinese.cn/reg.shtml

二、修改短信签名注册成功后登陆,用户登陆有首先要修改短信签名,因为中国网建中规定了,发送的短信如果没有正规的签名是不能成功发送的,提示性信息见下图:

修改短信签名的步骤:用户信息修改--->修改用户信息--->保存信息,如下图:

三、修改验证码网关和绑定短信模板如果开发的短信是为了发送验证码、订单号等需要让用户快速收到短信时,可以联系中国网建的客服(QQ联系即可,方便、快捷),修改验证码网关和绑定短信模板,短信模板中的变量用x进行代替,详情可以咨询中国网建的客服人员,这样就可以实现短信秒到用户手机中去;

非常注意:绑定了短信模板后,只有发送短信的内容与绑定的短信模板一模一样才能够实现短信的秒到,如果不一样的话,短信收到的时间将会变长

四、下载commons-httpclient的jar包

五、编写java代码,实现发送短信功能

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", "用户名"),//中国网建sms平台注册的用户名 
        new NameValuePair("Key", "用户秘钥"),//中国网建sms平台注册的用户密钥 
        new NameValuePair("smsMob", "手机号"),//将要发送到的手机号码 
        new NameValuePair("smsText", "按照短信模板发送内容,短信模板中变量具体化即可") };//要发送的短信内容 
    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(); 
}

查看用户秘钥的步骤:修改短信秘钥--->短信秘钥,如下图:

六、通过运行五中编写的java代码,即可实现发送短信的功能,并且让短信能够秒到用户手机中去;

本程序需要注意以下几点:

1、必须要设置短信签名:因为中国网建规定,如果没有设置短信签名的短信是不能够成功发送的;

2、如果要实现短信的秒到功能,就要修改验证码网关和绑定短信模板,并且发送短信的内容只有和绑定的短信模板一模一样的时候(模板中的变量每次发送具体实例化即可,其余内容必须一模一样),才能够实现短信的秒到,否则发送的短信不能实现秒到,只能和普通短信一样到达用户手机上比较慢;

以上这篇java发送短信的实现步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多