atitit 短信接口规范与短信解决方案.docx

1.1. 国内比较著名的短信提供商1

1.2. 短信接口规范1

1.3. 短信sdk构成1

1.4. 短信的实现1

1.5. SmsServiceYyuntongxunImp5

1.1. 国内比较著名的短信提供商

http://www.yuntongxun.com/member/numbermanager

亿美软通

Mob 项目。。

http://sms.1xinxi.cn/

1.2. 短信接口规范

/atiplat_cms/src/com/attilax/sms/SmsService.java

package com.attilax.sms;

public class SmsService {

public Object send(String mobile, String content) {

1.3. 短信sdk构成

一般有sdk源码,这块我们一般不需要。。

以及sdk jar包。。我们需要的这个

还有demo,就是调用sdk的demo,这个我们需要。的。。

1.4. 短信的实现

/atiplat_cms/src/com/attilax/sms/Sms1xinxi.java

package com.attilax.sms;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.ProtocolException;

import java.net.URL;

import java.net.URLDecoder;

import java.net.URLEncoder;

import com.attilax.io.filex;

/*

*  com.attilax.sms.Sms1xinxi.send

功能:1xinxi.cn HTTP接口 发送短信

说明:http://sms.1xinxi.cn/asmx/smsservice.aspx?name=登录名&pwd=接口密码&mobile=手机号码&content=内容&sign=签名&stime=发送时间&type=pt&extno=自定义扩展码

*/

public class Sms1xinxi extends SmsService {

private String SmsSign;

public Sms1xinxi()

{

this.pwd = "xxxx";

this.uname="zhida";

this.SmsSign="";//职达巴士

}

public Sms1xinxi(String  name, String key_pwd) {

this.pwd = key_pwd;

this.uname=name;

}

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

}

private Sms1xinxi addSmsSign(String string) {

this.SmsSign=string;

return this;

}

private String pwd;

private String uname;

/**

* 0,2016040319043901506198394,0,1,0,提交成功

rr:0,2016040319043901506198394,0,1,0,提交成功

* @param mobile

* @param content

* @return

*/

public String send(String mobile, String content) {

try {

// 发送内容

// String content = "第一信息 JAVA示例测试";

//String sign = "签名";

// 创建StringBuffer对象用来操作字符串

StringBuffer sb = new StringBuffer(

"http://sms.1xinxi.cn/asmx/smsservice.aspx?");

// 向StringBuffer追加用户名

sb.append("name="+uname);

// 向StringBuffer追加密码(登陆网页版,在管理中心--基本资料--接口密码,是28位的)

sb.append("&pwd=" + this.pwd);

// 向StringBuffer追加手机号码

sb.append("&mobile=" + mobile);

// 向StringBuffer追加消息内容转URL标准码

sb.append("&content=" + URLEncoder.encode(content, "UTF-8"));

// 追加发送时间,可为空,为空为及时发送

sb.append("&stime=");

// 加签名

sb.append("&sign=" + URLEncoder.encode(this.SmsSign, "UTF-8"));

// type为固定值pt extno为扩展码,必须为数字 可为空

sb.append("&type=pt&extno=");

// 创建url对象

// String temp = new String(sb.toString().getBytes("GBK"),"UTF-8");

System.out.println("sb:" + sb.toString());

URL url;

String returnStr;

url = new URL(sb.toString());

// 打开url连接

HttpURLConnection connection;

connection = (HttpURLConnection) url.openConnection();

// 设置url请求方式 ‘get’ 或者 ‘post’

connection.setRequestMethod("POST");

// 发送

InputStream is;

is = url.openStream();

// 转换返回值

returnStr = Sms1xinxi.convertStreamToString(is);

// 返回结果为‘0,20140009090990,1,提交成功’ 发送成功 具体见说明文档

System.out.println(returnStr);

// 返回发送结果

return returnStr;

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new RuntimeException(e);

}

}

/**

* 转换返回值类型为UTF-8格式.

*

* @param is

* @return

*/

public static String convertStreamToString(InputStream is) {

StringBuilder sb1 = new StringBuilder();

byte[] bytes = new byte[4096];

int size = 0;

try {

while ((size = is.read(bytes)) > 0) {

String str = new String(bytes, 0, size, "UTF-8");

sb1.append(str);

}

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

is.close();

} catch (IOException e) {

e.printStackTrace();

}

}

return sb1.toString();

}

}

1.5. SmsServiceYyuntongxunImp

/**

*

*/

package com.attilax.sms;

import com.csmy.my.center.util.RequestUtil;

/**

* impt sms n capt itfs..

* @author attilax

*2016年11月22日 下午4:05:07

*/

public class SmsServiceYyuntongxunImp extends SmsService  {

/**

*

*/

private   String tmp_id = "1";

//public String code=;

public String min="10";

public Object send(String mobile, String code)

{

return  new SDKTestSendTemplateSMS().send(mobile, code, tmp_id, min);

}

}

package com.attilax.sms;

import java.util.HashMap;

import java.util.Set;

import com.attilax.json.AtiJson;

import com.cloopen.rest.sdk.CCPRestSmsSDK;

public class SDKTestSendTemplateSMS {

/**

* @param args

*/

public static void main(String[] args) {

String cp = "18573344543";

String code = "6532";

String templateId = "1";

String min = "10";

send(cp, code, templateId, min);

}

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

在电脑上发短信 - attilax的专栏 - 博客频道 - CSDN.NET.html

atitit 短信接口规范与短信解决方案.docx的更多相关文章

  1. Atitit s2018.2 s2 doc list on home ntpc.docx  \Atiitt uke制度体系 法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别 讯飞科大 语音云.docx \Atitit 代码托管与虚拟主机.docx \Atitit 企业文化 每日心灵 鸡汤 值班 发布.docx \Atitit 几大研发体系对比 Stage-Gat

    Atitit s2018.2 s2 doc list on home ntpc.docx \Atiitt uke制度体系  法律 法规 规章 条例 国王诏书.docx \Atiitt 手写文字识别   ...

  2. 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案

    方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...

  3. atitit 短信验证码的源码实现  .docx

    atitit 短信验证码的源码实现  .docx 参考 Atitit usrQBM1603短信验证码规范1 主要方法1 源码实现1 参考 Atitit usrQBM1603短信验证码规范 主要方法 L ...

  4. 基于Socket客户端局域网或广域网内共享同一短信猫收发短信的开发解决方案

    可使同一网络(局域网或广域网)内众多客户端,共享一个短信猫设备短信服务器进行短信收发,短信服务器具备对客户端的管理功能. 下面是某市建设银行采用本短信二次开发平台时实施的系统方案图: 在该方案中,考虑 ...

  5. [工具开发] 一信通 Web 短信发送客户端

    一.简介 为了协助公司运营部对几家短信平台进行测试,我根据各自的接口文档编写了几个简单的短信发送客户端: 下面是一信通 Web 短信发送客户端,使用 HTTP GET 方法. 二.效果图 1. 首页 ...

  6. Android软件开发之发送短信与系统短信库解析

    今天我和同学们讨论一下Android平台下如何调用系统方法发送短信.接收短信.系统的短信库相关的问题.进入正题,我们先使用Eclipse工具模拟给自己的模拟器发送一条短信.在Eclipse下打开DDM ...

  7. Android黑科技,读取用户短信+修改系统短信数据库

    安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证 ...

  8. .NET 微信开放平台接口(接收短信、发送短信)

    .NET 微信开放平台接口(接收短信.发送短信) 前两天做个项目用到了微信api功能.项目完成后经过整理封装如下微信操作类. 以下功能的实现需要开发者已有微信的公众平台账号,并且开发模式已开启.接口配 ...

  9. Linux系统中调用短信猫发送短信(笔记)

    1, 拷贝底层串口依赖的librxtxSerial.so到JDK安装路径cp librxtxSerial.so /usr/java/{0}/jre/lib/{1} # {0}: JDK的基础目录,例如 ...

随机推荐

  1. Windows和linux的文件共享(1)

    今天是我学习linux以来第一次写博客.带着一种激动心情我开始尝试着去完成第一篇博客.从易到难.所以第一次我就主要学习了Windows之间的文件共享. Window之间的文件共享是通过局域网实现的.局 ...

  2. Oracle数据库备份 expdp/impdp导出导入命令

    使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...

  3. php图片合成

    <?php//===================== 新建一个新的 GD 图像流并输出图像========================//header("Content-typ ...

  4. 猿团YTFCloud--5分钟自制APP,开发从未如此简单

    9月15日,YTFCloud将正式开启内测, 这意味着猿团YTF框架产品线全面升级.同时,公测过后,YTFCloud的APP线上DIY服务将面向所有用户,让人人都能成为APP“开发商”. 什么是YTF ...

  5. 页面超慢,zabbix却没报警

    故障背景:网站页面打开速度非常慢 排查过程: 1.一开始用vmstat 看到procs下的r值稳定在5.6,由于这台服务器是12核24线程,并且cpu的wa很大,说明系统很轻松, 肯定不会报警了,那为 ...

  6. <转>exe & dll自我更新

    exe & dll自我更新 分类: c/c++ 2008-10-16 22:07 756人阅读 评论(1) 收藏 举报 exedlldelayapi游戏 exe与dll的自我更新     在改 ...

  7. Java中将0x开头的十六进制字符串转换成十进制整数

    1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...

  8. 网上搜集了点资料,学web的人互相分享共同进步吧(php编码的好习惯必须养成)

    网上搜集了点资料,学web的人互相分享共同进步吧 一.优秀的代码应该是什么样的? 优秀的PHP代码应该是结构化的.大段的代码应该被分割整理成一个个函数或方法,而那些不起眼的小段代码则应该加上注释,以便 ...

  9. 直接通过Ajax 处理程序加 Action名,取得变量值。

    var set_value;$(document).ready(function () {            var query = createParam('GetValue', '0');   ...

  10. botbrew下写glib2程序

    作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据General Public License,v3 ...