联通短信协议.doc
文本预览下载声明
联通短信协议
篇一:基于联通SGIP协议的短信发送代码
基于联通SGIP协议的短信发送代码
public class Send {
// private static Logger log = LogManager.getLogger(send);
private static String SPNumber = xxxx;//接入号码
private static String ChargeNumber = 000000000000000000000; // 计费号码,我们是白名单 private static String ServiceType = xxxxx;//服务类型
private static String host = xxx.xxx.xxx.xxx; // 主机名,网关IP
private static int port = 8881; // 端口号,这里特别注意下,接入协议中写的是8804,害得我调了很久,后来才知道改了,所以,这个在接入前,建议与网关人员确定
private static String CorpId = xxxxx; // 企业代码
private static String login_Name = xxxxxxxx; // 登陆名
private static String login_PassWord = xxxxxxx; // 登陆密码
public static void main(String[] args) throws UnsupportedEncodingException {
int srcnode =new BigInteger(30000+企业代码).intValue(); //源节点编号,这一步非常重要,华为包中,该字段类型为int,而接入协议中要求在企业代码前加上30000,这样就超过了int的取值范围,所以需要用BigInteger转一下就可以了
Args argstr = new Args();
argstr.set(host, host);
argstr.set(port, port);
argstr.set(transaction-timeout, 10); // 操作超时时间(单位:秒)
argstr.set(read-timeout, 15); // 物理连接读操作超时时间(单位:秒)
argstr.set(source-addr, srcnode); // SP…ID(最大为六位字符)
argstr.set(login-name, login_Name);
argstr.set(login-pass, login_PassWord);
argstr.set(debug, true);
// 连接登陆zhuxiao5
SGIPSMProxy sgipsmp = new SGIPSMProxy(argstr); // 这里
try {
boolean reslut = sgipsmp.connect(login_Name, login_PassWord); // 登陆得到true和false
System.out.println(reslut::::::: + reslut);
if (reslut) {
System.out.println(连接成功...........);
} else {
System.out.println(连接失败(用户名或密码错误)...........);
return;
}
} catch (Exception ex) {
System.out.println(网络异常...........);
ex.printStackTrace();
return;
上86 } String[] UserNumber = { 86156xxxxxxxx,86156xxxxxxxx};//接收短信的手机号码,前边要加String content = 短信测试内容; byte[] MessageContent = content.getBytes(GB2312); try { // 下发短息 SGIPSubmitMessage sgipsubmit = new SGIPSubmitMessage( SPNumber, // SP的接入号码 ChargeNumber, // 付费号码 string UserNumber, // 接收该短消息的手机号,最多100个号码 string[] CorpId, // 企业代码,取值范围为0~99999 string ServiceType, // 业务代码,由SP定义 stirng 03, // 计费类型
显示全部