Java发送手机短信
一、需求
通过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);}
}
三、运行结果
- 发送的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>
- 发送成功后返回的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发送手机短信相关推荐
- JAVA发送手机短信,httpclient短信发送接口示例(java)
httpclient短信发送接口示例(java),可用于直接用电脑发送短信,可根据实际情况,与联通移动公司洽谈接口,完成网上发送短信功能,如需jar包,可向联通移动公司项目部沟通. package c ...
- java发送手机短信demo
JAVA发送手机短信有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这 ...
- 利用java实现的一个发送手机短信的小例子
今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...
- java 发送短信例子_利用java实现的一个发送手机短信的小例子
今天闲来无事,在微博上看到一个关于用java实现的一个发送手机短信的程序,看了看,写的不太相信,闲的没事,把他整理下来,以后可能用得着 JAVA发送手机短信,流传有几种方法:(1)使用webservi ...
- java实现的一个发送手机短信
利用java实现的一个发送手机短信的小例子 JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注 ...
- java 短信_java实现发送手机短信
本文主要研究了JAVA语言发送手机,分享给大家,供大家参考,具体内容如下 JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webser ...
- java实现发送手机短信
说明:测试通过 JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册; (2)使用短信m ...
- Java实现的一个发送手机短信(亲测可用)
原文地址:http://sms.webchinese.cn/api.shtml JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webs ...
- Java利用中国网建SMS短信通平台发送手机短信
JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册; (2)使用短信mao的方式进行短信的 ...
最新文章
- 白平衡——图像处理中的一种增强技术
- sql server datetime转char的方法
- D3.tsv与D3.csv加载数据
- 实现全屏轮播,并且轮播div中的文字盒子一直自动垂直居中
- goland go test 多个文件_这个代码怎么会编译不通过?Goland 新手常见问题解决:GOPATH 和 Go Modules 编译不成功...
- docker学习笔记(六)docker-compose
- GitHub上的私有仓库转换为共有仓库以及共有仓库转换为私有仓库
- Linux安装与基本操作命令与JDK的安装,Mysql的安装,Tomcat的安装
- FFplay命令分析-vf
- java实现NC数据等值线等值面可视化
- IT项目的常见风险及应对措施
- volatility使用
- 使用 Learner Lab - 学生
- Android Camera2 教程 · 第三章 · 预览
- 【LLM大模型】模型和指令微调方法
- 情感营销,如何打动消费者的心
- 基于融云的即时通讯开发(一)
- 摩托车新手驾驶教程[4]
- 易语言的按钮事件(破解小技巧)
- 游泳过后,耳朵进水怎么办,中耳进水