一、需求
通过MAS: 移动代理服务器,向用户发送手机短信。
由移动提供WebService接口,在代码中调用该接口即可。

二、实现代码

package com.wbf.test;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;public class Test {public static String buildRequestXMLString(String id, String pwd, String serviceid, String phone, String content) {StringBuffer sb = new StringBuffer();sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>").append("<svc_init ver=\"2.0.0\">").append("<sms ver=\"2.0.0\">").append("<client>").append("<id>").append(id).append("</id>").append("<pwd>").append(pwd).append("</pwd>").append("<serviceid>").append(serviceid).append("</serviceid>").append("</client>").append("<sms_info>").append("<phone>").append(phone).append("</phone>").append("<content>").append(content).append("</content>").append("</sms_info>").append("</sms>").append(" </svc_init>");System.out.println(sb.toString());return sb.toString();}public static String buildRequestXMLString2Query(String id, String pwd) {StringBuffer sb = new StringBuffer();sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>").append("<svc_init ver=\"2.0.0\">").append("<sms ver=\"2.0.0\">").append("<client>").append("<id>").append(id).append("</id>").append("<pwd>").append(pwd).append("</pwd>").append("</client>").append("</sms>").append(" </svc_init>");System.out.println(sb.toString());return sb.toString();}public static String postXMLSendSMSRequest(String servletUrl, String content) {String result = null;BufferedReader br = null;OutputStreamWriter out = null;HttpURLConnection con = null;try {URL url = new URL(servletUrl);con = (HttpURLConnection) url.openConnection();con.setDoOutput(true);con.setRequestMethod("POST");out = new OutputStreamWriter(con.getOutputStream(), "UTF-8");out.write(content);out.flush();br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));String line = null;StringBuilder sb = new StringBuilder();while ((line = br.readLine()) != null) {sb.append(line);}result = sb.toString();System.out.println(result);} catch (IOException e) {e.printStackTrace();} finally {if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}if (out != null) {try {out.close();} catch (IOException e) {e.printStackTrace();}}if (con != null) {con.disconnect();con = null;}}return result;}/*** @param args*/public static void main(String[] args) {// 下面的MAS_ID、PASSWORD仅供测试使用,正式使用由移动公司分配String MAS_ID = "84";String PASSWORD = "sWFHz3JnS2xqKtm/4uIzeh9O3EbsotoMVC6Z9Fk9PjY8Zbeya8bexQ==";//发送手机短信String reqXML = buildRequestXMLString(MAS_ID, PASSWORD, "", "13970413084", "知道谁给你发信息了吗?嘻嘻,你猜!");postXMLSendSMSRequest("http://218.204.149.110:18080/sjb/HttpSendSMSService", reqXML);//查询短信发送记录//String reqXML2Query = buildRequestXMLString2Query(MAS_ID, PASSWORD);//postXMLSendSMSRequest("http://218.204.149.110:18080/sjb/HttpDeliverySMSService", reqXML2Query);}
}

三、运行结果

  1. 发送的XML
<?xml version="1.0" encoding="UTF-8"?>
<svc_init ver="2.0.0"><sms ver="2.0.0"><client><id>84</id><pwd>sWFHz3JnS2xqKtm/4uIzeh9O3EbsotoMVC6Z9Fk9PjY8Zbeya8bexQ==</pwd><serviceid/></client><sms_info><phone>13970413084</phone><content>知道谁给你发信息了吗?嘻嘻,你猜!</content></sms_info></sms>
</svc_init>
  1. 发送成功后返回的XML信息
<?xml version="1.0" encoding="UTF-8"?>
<svc_result ver="2.0.0"><response_info><gwid>679d49be-8d44-4355-af3b-ed6fc54142d8</gwid><retcode>00</retcode><retmesg>OK</retmesg></response_info>
</svc_result>

Java发送手机短信相关推荐

  1. JAVA发送手机短信,httpclient短信发送接口示例(java)

    httpclient短信发送接口示例(java),可用于直接用电脑发送短信,可根据实际情况,与联通移动公司洽谈接口,完成网上发送短信功能,如需jar包,可向联通移动公司项目部沟通. package c ...

  2. java发送手机短信demo

    JAVA发送手机短信有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这 ...

  3. 利用java实现的一个发送手机短信的小例子

    今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...

  4. java 发送短信例子_利用java实现的一个发送手机短信的小例子

    今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...

  5. java实现的一个发送手机短信

    利用java实现的一个发送手机短信的小例子 JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注 ...

  6. java 短信_java实现发送手机短信

    本文主要研究了JAVA语言发送手机,分享给大家,供大家参考,具体内容如下 JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webser ...

  7. java实现发送手机短信

    说明:测试通过 JAVA发送手机短信,流传有几种方法:  (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;  (2)使用短信m ...

  8. Java实现的一个发送手机短信(亲测可用)

    原文地址:http://sms.webchinese.cn/api.shtml JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webs ...

  9. Java利用中国网建SMS短信通平台发送手机短信

    JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册; (2)使用短信mao的方式进行短信的 ...

最新文章

  1. 白平衡——图像处理中的一种增强技术
  2. sql server datetime转char的方法
  3. D3.tsv与D3.csv加载数据
  4. 实现全屏轮播,并且轮播div中的文字盒子一直自动垂直居中
  5. goland go test 多个文件_这个代码怎么会编译不通过?Goland 新手常见问题解决:GOPATH 和 Go Modules 编译不成功...
  6. docker学习笔记(六)docker-compose
  7. GitHub上的私有仓库转换为共有仓库以及共有仓库转换为私有仓库
  8. Linux安装与基本操作命令与JDK的安装,Mysql的安装,Tomcat的安装
  9. FFplay命令分析-vf
  10. java实现NC数据等值线等值面可视化
  11. IT项目的常见风险及应对措施
  12. volatility使用
  13. 使用 Learner Lab - 学生
  14. Android Camera2 教程 · 第三章 · 预览
  15. 【LLM大模型】模型和指令微调方法
  16. 情感营销,如何打动消费者的心
  17. 基于融云的即时通讯开发(一)
  18. 摩托车新手驾驶教程[4]
  19. 易语言的按钮事件(破解小技巧)
  20. 游泳过后,耳朵进水怎么办,中耳进水

热门文章

  1. VScode 无法编译
  2. layui table 获取单元格总是多一个
  3. HFDS的Shell操作
  4. appdata是什么文件夹?appdata文件夹可以删除吗?
  5. 单系统 台电x80pro_台电X80 Pro (E6E9)-双系统安装文件平板固件
  6. Android处理二维码扫码枪数据
  7. 通过Elasticsearch 8、Kibana、Filebeat实现日志的监控及统计
  8. 1. 系统符号与正则符号
  9. 数位板使用技巧_保护您的眼睛技巧,以帮助防止数位眼疲劳
  10. 钛媒体2022 EDGE AWARDS全球创新评选之「年度最佳企业服务品牌」揭榜