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. 12个Linux进程管理命令介绍(转)

    12个Linux进程管理命令介绍 [日期:2015-06-02] 来源:Linux中国  作者:Linux [字体:大 中 小]   执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的 ...

  2. 安安视频网anan.video为您提供免费高清视频

    安安视频网anan.video为您提供免费高清视频,最新电影,电视剧,动漫,微电影,纪录片,音乐MV在线观看(高清):安安视频网,一个干净的视频在线播放网站,百万高清影视,视频在线观看. 安安视频网整 ...

  3. Codevs 1021 (玛丽卡)

    题目描述 Description 麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复. 因为她和他们不住在同一个城市,因此她开始准备她的长途旅行. 在这个国家中每两个城市之间最多只有一条路相通,并且我们 ...

  4. 1.本周的作业请参照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本组项目的GitHub版本更新流程---答题者:徐潇瑞

    首先,介绍一下gitflow,它是最早诞生.并得到广泛采用的一种工作流程.如果采用git flow开发流程,那么项目存在两个常设分支,一个叫主分支master,另一个叫开发分支develop.mast ...

  5. R语言数据处理利器——dplyr简介

    dplyr是由Hadley Wickham主持开发和维护的一个主要针对数据框快速计算.整合的函数包,同时提供一些常用函数的高速写法以及几个开源数据库的连接.此包是plyr包的深化功能包,其名字中的字母 ...

  6. CDATA为何物?

    CDATA的解释 1. 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data),XHTML也是如此. CDATA 部分中的所有内容都会被解析 ...

  7. Thread and ThreadPool

    C#中Thread与ThreadPool的比较 Thread类,一次使用一个线程,来创建和删除线程.这种方式建立和删除线程是很昂贵的(cpu密集型). Threadpool类 对于大多数的情况下是使用 ...

  8. Introduction ch3

    [1] Don’t reinvent the wheel; use libraries.[2] Don’t believe in magic; understand what your librari ...

  9. PYTHON学习之路_PYTHON基础(1)

    学习内容: 1.Python介绍 2.Python程序初接触和变量 3.Python用户交互 4.Python数据类型 5.Python循环if...(elif)...else 6.Python循环w ...

  10. C# final project

    Problem Statement You are tasked with developing a task manager. The task manager will allow people ...