热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

java发送短信的实现步骤

下面小编就为大家带来一篇java发送短信的实现步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一、在中国网建中注册用户本程序是通过中国网建提供的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发送短信的实现步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


推荐阅读
  • 材料光学属性集
    材料光学属性集概述了材料在不同光谱下的光学行为,包括可见光透射率、太阳光透射率等关键参数。 ... [详细]
  • VC++ 文件操作实践案例
    本文介绍如何在Visual C++ 6.0环境下,通过下载的VC源代码实现文件的基本读写操作,并解决常见的运行错误。 ... [详细]
  • POJ2263是一个经典的图论问题,涉及寻找从起点到终点的最大载重路径。本文将详细介绍该问题的背景、解题思路及代码实现。 ... [详细]
  • MATLAB是科技工作者的重要工具,以其强大的科学计算能力和简洁的编程风格而广受好评。然而,MATLAB生成的图形默认分辨率较低,这在某些情况下可能会影响图形的质量。本文将介绍如何在MATLAB中保存高分辨率的图形。 ... [详细]
  • Android开发:巧妙运用ViewStub写出类似Tab选项卡
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在Ubuntu 16.10 (x86) 上安装 WordPress 4.7.115
    本文介绍如何在Ubuntu 16.10 (x86) 系统上安装WordPress 4.7.115,包括下载、解压、配置等步骤,确保安装过程顺利进行。 ... [详细]
  • 解决Win7系统下MySQL安装时的安全设置应用失败问题
    本文详细探讨了在Windows 7操作系统中安装MySQL时遇到的‘安全设置无法应用于数据库’错误的解决方案。通过逐步指导和专业建议,帮助用户顺利解决这一常见问题。 ... [详细]
  • Spring Boot使用AJAX从数据库读取数据异步刷新前端表格
      近期项目需要是实现一个通过筛选选取所需数据刷新表格的功能,因为表格只占页面的一小部分,不希望整个也页面都随之刷新,所以首先想到了使用AJAX来实现。  以下介绍解决方法(请忽视 ... [详细]
  • 本文提供了《汇编语言 第3版》中检测点11.2的详细参考答案,包括了各指令执行后的状态标志分析。 ... [详细]
  • C#中调用OpenCTM打开.obj三维模型文件
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如题:2017年10月分析:还记得在没有智能手机的年代大概就是12年前吧,手机上都会有WAP浏览器。当时没接触网络原理,也不 ... [详细]
  • 最近在博客园上发现了一款ViewState解码工具,这是一款非常实用的工具,可以帮助开发者检查ViewState是否正确保存。然而,这也意味着其他人可以通过该工具查看ViewState中的数据,因此隐藏ViewState变得尤为重要。 ... [详细]
  • 探讨密码安全的重要性
    近期,多家知名网站如CSDN、人人网、多玩、开心网等的数据库相继被泄露,其中大量用户的账户密码因明文存储而暴露无遗。本文将探讨黑客获取密码的常见手段,网站如何安全存储用户信息,以及用户应如何保护自己的密码。 ... [详细]
  • 本文探讨了在UIScrollView上嵌入Webview时遇到的一个常见问题:点击图片放大并返回后,Webview无法立即滑动。我们将分析问题原因,并提供有效的解决方案。 ... [详细]
  • 题目编号:2049 [SDOI2008]Cave Exploration。题目描述了一种动态图操作场景,涉及三种基本操作:断开两个节点间的连接(destroy(a,b))、建立两个节点间的连接(connect(a,b))以及查询两节点是否连通(query(a,b))。所有操作均确保图中无环存在。 ... [详细]
author-avatar
吴佑霖雅旺
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有