Java代码实现手机发送短信功能

突发奇想,Java可不可以实现模拟手机发送短信的功能,于是Google了一下相关内容,借此把整个过程记录下来,说不定你也感兴趣呢?

准备工作

  1. 登陆网站 :SMS短信通-注册,注册一个账号。
注册.png
  1. 登陆进入该页面。登陆页面
登陆.png
  1. 如图点击:修改短信密钥
设置.png

说明:在1处添上自定义的密钥(我设置成了32位),点击保存。在2处签名处,我的建议是不填写,为了之后的短信签名是灵活的。

编写代码

使用开发工具Eclipse,或者其他的IDE,建立一个Dynamic Web Project工程,创建一个Java类,main方法如下所示:(代码可以直接复制,自行修改),之后Run As编写的Java类即可。

  • 引入三个JAR包
  1. commons-logging-1.1.1.jar
  2. commons-httpclient-3.1.jar
  3. commons-codec-1.4.jar
  • 图中被涂抹的,在代码中都有说明
  • 需要注意的是<短信内容>的最后需要加上签名。格式必须是:【XXX】,例如【Mini_Goooo】
main.png

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓代码如下↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓


public static void main(String[] args) throws HttpException, IOException {
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", "181XXXXXXXX"),// 接收人的手机号码 new NameValuePair("smsText", "这是一条使用Java代码发送出去的短信!") };// 短信内容
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();
}

结果测试

涂抹的内容就是你短信内容最后填写的签名内容。--这个必须有!!
感谢小红同学的友情支持!

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • #Android 基础知识点总结 ---------- ##1.adb - android debug bridg...
    Mythqian阅读 3,381评论 2 11
  • apache下的httpclient工具可大大简化开发过程中的点对点通信,本人将以微信多媒体接口为例,展示http...
    划破的天空阅读 5,348评论 0 32
  • (2015-05-03 19:00)失算了,下午四点到了汽车站,没能买到16:10的汽车,最早也要晚上六点到深圳侨...
    seanlook阅读 219评论 0 1