⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wappush.java

📁 对于cmpp3.0 开发有一定的帮助,请大家下载下来进行研究.
💻 JAVA
字号:
package com.zhanghao.cmpp;

import java.io.*;

public class WapPush {

  public String destNumber = "13873191718";
  public String pushUrl = "sohu.com";
  public String pushTitle = "te";


  private CharArrayWriter charWrite = new CharArrayWriter();

  /*******************************************************************************************
   00 SMSC 地址信息的长度 00表示用手机上设置短信中心号码,PDU 串的“SMSC 址格式”段和“SMSC 地址”段将省去
   51 基本参数(TP-MTI/VFP) 不要求发送回复
   00 消息基准值(TP-MR)
   0B 对方电话的长度
   A1 目标地址格式 A1表示为国内格式
   3108086406F6 目标地址,补‘F’凑成偶数位后奇偶位互换
   00 协议标识(TP-PID) 是普通GSM 类型,点到点方式
   F5 用户信息编码方式 (TP-DCS)
   A7 有效期(TP-VP)
   85 用户信息长度(TP-UDL)
   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 字符串开始
   3231312e3133362e3135332e33302f776170707573682f
   70757368496e6465782e6a73703f7075736849643d3035303531313134313630353231 URL
   00 URL 字符串结束
   01 >
   03 内容描述字符串开始
   E8AFB7E782B9E587BBE4BBA5E4B88BE993BEE68EA_
   5E88EB7E58F96E5BDA9E4BFA1E58685E5AEB9 内容描述字符串
   00 内容描述字符串结束
   01
   01
   ******************************************************************************/


  /**
   00 SMSC 地址信息的长度 00表示用手机上设置短信中心号码,PDU 串的“SMSC 址格式”段和“SMSC 地址”段将省去
   51 基本参数(TP-MTI/VFP) 不要求发送回复
   00 消息基准值(TP-MR)
   0B 对方电话的长度
   A1 目标地址格式 A1表示为国内格式
   */
  public char[] c1 = {0x00,0x51,0x00,0x0B,0xA1};

  /**
   00 协议标识(TP-PID) 是普通GSM 类型,点到点方式
   F5 用户信息编码方式 (TP-DCS)
   A7 有效期(TP-VP)
   85 用户信息长度(TP-UDL)
   0B WAP PUSH头部的总长度
   05040B8423F0表示接下来是一个WAP PUSH
   00 表示是Concatenated Short Messages
   03 长度
   03 reference number
   */
  public char[] c2 = {0x00,0xF5,0xA7,0x85,0x0B,0x05,0x04,0x0B,0x84,0x23,0xF0};  //11
  public char[] c3 = {0x00,0x03,0x03};

  public char iMsgNumber = 0x01;  //01 表示分成1个短信发送
  public char iMsgCurSeq = 0x01;  //01 当前包的序号

  public char[] c4 = {0x29,0x06,0x06,0x03,0xAE,0x81,0xEA,0x8D,0xCA};  //29060603AE81EA8DCA WSP

  /**
   02 标记位
   05 -//WAPFORUM//DTD SI 1.0//EN
   6A UTF-8
   00 标记开始
   45
   C6
   08
   0C href="http://
   03 字符串开始
   */
  public char[] c5  = {0x02,0x05,0x6A,0x00,0x45,0xC6,0x08,0x0C,0x03};
  public char[] cUrl = pushUrl.toCharArray();

  /**
   00 URL 字符串结束
   01 >
   03 内容描述字符串开始

   */
  public char[] c6  = {0x00,0x01,0x03};
  public char[] cTitle = pushTitle.toCharArray();

  /**
   00 内容描述字符串结束
   01
   01
   */
  public char[] c7 =  {0x00,0x01,0x01};


  public WapPush() {
  }

  public WapPush(String _destNumber,String _pushUrl,String _pushTitle){
    this.destNumber = _destNumber;
    this.pushUrl    = _pushUrl;
    this.pushTitle  = _pushTitle;
  }

  public char[] formatPushNumber(String sPhoneNumber){
    String sTemp = sPhoneNumber + "F";
    char[] cTemp = sTemp.toCharArray();
    char[] cDest = new char[cTemp.length];
    for(int i=0;i<cDest.length/2;i++){
      cDest[i*2] = cTemp[i*2+1];
      cDest[i*2+1] = cTemp[i*2];
    }
    return cDest;
  }


  public char[] getFormatPushMsg(){
    String sDest = "" ;
    return sDest.toCharArray();
  }


  public static void main(String args[]) throws Exception{
      WapPush wap = new WapPush("13873191718","www.sohu.com","test");
      char[] cc = new String(wap.toCharArray()).toCharArray();
      for(int i=0;i<cc.length;i++){
        System.out.print((byte)cc[i] +" ");
      }
      System.out.println();
      System.out.println(new String(wap.toCharArray()).getBytes().length);

  }


  public char[] toCharArray() throws Exception{
    charWrite.write(c1);
    charWrite.write(formatPushNumber(this.destNumber));
    charWrite.write(c2);

    charWrite.write(c3);
    charWrite.write(iMsgNumber);
    charWrite.write(iMsgCurSeq);

    charWrite.write(c4);
    charWrite.write(c5);

    charWrite.write(pushUrl.toCharArray());

    charWrite.write(c6);
    charWrite.write(pushTitle.toCharArray());
    charWrite.write(c7);


    return charWrite.toCharArray();
  }


  public static void main2(String args[]) throws Exception{

  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -