[原]Wap push over sms 实践

Wap push over sms 实践
 author:clapton_xpAThotmailDOTcom 20060323
通过短信进行点对点的WAP PUSH,本质上来说应该是发送一个wap页面(WBXML)到接收方,里面含有一段文字和一个url链接。
在发送端采用PDU模式发送,编码是UCS2。
整个发送的包大部分内容都是固定的,只需要对几个地方根据希望发送的内容进行一下替换即可。
我参考的例子是这样的,只用说明中红色的部分是需要变化的:
0051000BA13108086406F600F5A7850B05040B8423F0000303010129060603AE81EA8DCA02056A0045C6080C033231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231000103E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9000101

00 SMSC 
地址信息的长度  00 表示用手机上设置短信中心号码, PDU  串的 “SMSC  址格式 段和 “SMSC  地址 段将省去  
51 
基本参数 (TP-MTI/VFP)  不要求发送回复  
00 
消息基准值 (TP-MR) 
0B 
对方电话的长度  
A1 
目标地址格式  A1 表示为国内格式  
3108086406F6  目标地址,补 ‘F’ 凑成偶数位后奇偶位互换   (因为手机号码是 11 位,需要补一个 F ,再将奇偶位互换,比如 12345678901 需要变成 2143658709F1
00 
协议标识 (TP-PID)  是普通 GSM  类型,点到点方式  
F5 
用户信息编码方式  (TP-DCS) 
A7 
有效期 (TP-VP) 
85  用户信息长度 (TP-UDL)  (此处是从下面的0B开始所有的字节数/2对应的十六进制数
0B WAP PUSH
头部的总长度  
05040B8423F0
表示接下来是一个 WAP PUSH 
00 
表示是 Concatenated Short Messages 
03 
长度  
03 reference number 
01 
表示分成 1 个短信发送  
01 
当前包的序号  
29060603AE81EA8DCA WSP 
02 
标记位  
05 -//WAPFORUM//DTD SI 1.0//EN 
6A UTF-8 
00 
标记开始  
45 
C6 
08 
0C href=/"http:// 
03 
字符串开始  
3231312e3133362e3135332e33302f776170707573682f70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231  URL  (编码过的 URL ,不带 http://
00 URL 
字符串结束  
01 > 
03 
内容描述字符串开始  
E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9  内容描述字符串   (编码过的文字内容)
00 
内容描述字符串结束  
01 
01 
 
 
AT指令发送时:
at+cmgf=0 // 设置发送为二进制模式
OK
at+cmgs=93 // 十进制的数字,值为 ( 上面生成的一大串的字节数 /2)-1 ,还没搞清为啥要减一
> 0051000BA1。。。。。。。(就是那一大串了) Ctrl+Z
+CMGS: 14
OK
 
发送成功
 
―――――――――――――――――――――――――――――――
参考资料:
 
基于短信网关WAP推送的实现
http://www.spforum.net/spyy/Content.asp?iID=24868
 
AT COMMANDS INTERFACE GUIDE
http://www.sendsms.com.cn 有下载
 
手机串口发送wap-push的pdu编码类
http://spaces.msn.com/jinji/blog/cns!3843DA5271ADAAD3!131.entry
 
[小学堂]sms 发送 wap push的方法和格式!  
http://www.teeta.com/ttweb/User/icedot/2005-02/13805.html
 
 
 
 
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值