标签:
1、开发背景
前提拥有短信网关的凭证、且信息有效。自行购买、此实例以“浪驰”商务短信快车为例。
现如今遇到很多的情况都要用的短信发送的功能、比如:用户注册获取验证码、平台给用户推送信息等等、其实现原理大致相同、无复杂的逻辑需要理解、只需要熟悉对 应的短信网关亦或是邮件网关的相应规则即可。
2、java开发实例
a)以配置文件的形式来存储短信网关的账户信息、每次需要调用是、通过调用加密的配置文件来获取账户信息。
b)以接口的形式定义发送短信的功能 好处多多:比如项目中发送短信的功能都是调用这个接口、那么下次换个短信网关、程序接口和其他地方不需要动、只需要修改 接口实现类即可;
c)调用短信接口 具体是需求而定。比如此处的需求为被动发送短信、即触发之后发送;不需要做持久化操作。
短信接口定义:浪驰商务快车短信网页接口文档
3、浪驰短信接口注意事项:
a)接口编码是GB2312 如果出现手机收到短信内容是乱码可对短信内容做URLENCODE编码
b)登录、发送短信、维持心跳、注销;整个流程必须在一个session中完成;否则会出现无法登录、无法注销或其他异常、到时候就需要联系客服来人工去除登录标 志
c)若做持久化操作:心跳连接建议 50秒--2分钟做一次 如果出现异常掉线 没有正常注销 会在5—15分钟后掉线(前提没写IE缓存)所以建议5分钟重连一次 频繁的连 接将当恶意连接处理
d)建议不要写IE缓存 因为出现异常掉线了 没有正常注销的情况下 重连可能长时间返回1000的错误(当前用户已登录)
e)建议发送短信 间隔0.1秒提交一次, 群发一次最多提交1000个手机号
f)密码需要特殊加密方可使用、加密工具 见 附件。
4、代码贴图
a)账户配置文件
b)接口
c)实现类
备注:以上代码贴图为通用实现方法、无需登录、直接调用方法发送即可;若要进行持久化操作则需要如下操作:
最重要的一步是:
因为一系列持久化的操作是要在同一个session中完成的、每个HTTP 请求都是会生成一个不同的SESSIONID 设置了刚才那一步 这样SESSIONID 就相同了 不设置就是系统默认的了。
最后补全一个错误代码编号:2008 是因为落款没加 或者落款不对
标签:
原文地址:http://blog.csdn.net/fly_net_sky/article/details/51202804