分享

中国万网短信平台API使用说明**********java

 闪宁斯达 2010-09-20

中国万网短信平台API使用说明

版本:V2.2

一、概述

       为了方便客户调用,本接口采用了通用的 HTTP形式,可以支持各种操作系统和开发语言。

 

客户只需要在其现有系统中通过http post方式,按照下一节的接口参数说明将相应的入口参数提交到接口URL即可完成短信的发送。

 

  使用此接口的用户应至少熟悉 HTML语法,理解Form表单和含义,如果不熟悉请参考相关书籍或加入万网软件学院。

 

二、接口参数说明

接口URL地址: http://bms./sms_gateway/sms_api

 

入口参数:

参数名称

含义

备注

user_id

用户id

即:企业代码

password

用户密码

web登录密码

mobile_phone

发送目标手机号

存在多个目标手机时用半角“,”分割,数量不能超出100

msg

短信内容

每条短信长度为70个中文字符

send_date

发送时间

默认为空,即:立即发送

不为空:则按照指定时间定时发送

格式为:年月日时分秒(040524165823

subCode

企业代码

 

 

 

出口参数:

返回编码

含义

0

发送成功

1

用户名或密码校验错误或未授权

2

无可发许可

3

提交失败

5

发送数量大于允许发送条数

6

短信内容超长

 

 

三、例子代码

下面分别列出了常用的四种web开发语言调用此接口的方法,各种语言的版本均封装为统一的接口函数 send_sms,并且参数的个数和类型都一样,以下做统一说明。

 

参数说明:

用户名,即企业代码: $user_id

密码:$password

接收短信的手机号(如果是多个手机号,用逗号分开,最多100):$mobile_phone

要发送的短信内容:$msg

定时发送时间(格式为:年月日时分秒“040524165823”,如果即时发送置为空):$send_date

子特服号(与企业代码相同):$subCode

1.PHP 代码

<?

function sms_send($user_id,$password,$mobile_phone,$msg,$send_date,$subCode)

/*

php 发送HTTP POST数据函数

*/

{

       //生成请求字串

       $request = 'user_id=' . urlencode($user_id);

       $request .= '&password=' . urlencode($password);

       $request .= '&mobile_phone=' . urlencode($mobile_phone);

       $request .= '&msg=' . urlencode($msg);

       $request .= '&send_date=' . urlencode($send_date);

       $request .= '&subCode=' . urlencode($subCode);

             

       // 生成HTTP

       $header = "POST http://bms./sms_gateway/sms_api HTTP/1.0\r\n";

       $header .= "Content-type: application/x-www-form-urlencoded\r\n";

       $header .= "Content-length: " . strlen($request) . "\r\n\r\n";

      

       // 打开连接

      

       $fp = fsockopen('bms.', 80, &$err_num, &$err_msg,30);

       if (!$fp)

          $response="网络忙请稍候再试";

       else

       {

              //发送请求信息

              fputs($fp, $header . $request);

              //得到返回值

              while (!feof($fp))

              $response .= fgets($fp, 128);

       }

 

       $strarray=split("\r\n\r\n",$response);

       $res=$strarray[1];

       return  Chop($res);

}

 

?>

 

<?

//调用例子

$ret=sms_send('4003','XXXXXX','13900000000','test msg from php code','','4003');

 

//输出返回结果

echo "$ret";

?>

2.ASP 代码

<%

 

'本例子程序使用了微软的winhttp 组件,万网的虚拟主机上已经安装了此组件.

如果您使用非万网主机执行此段代码,需要在win2000客户机上安装service pack4,win2003也默认安装了此组件。如果缺乏winhttp组件将返回424错误。

function send_sms(user_id,password,mobile_phone,msg,sendtime,subcode)

       dim sendStr,http

       Err.Clear

       On Error Resume Next

 

       sendStr="user_id=" & user_id & "&password=" & password & "&mobile_phone=" & mobile_phone & "&msg=" & server.URLEncode(msg) & "&sendtime=" & sendtime & "&subcode=" & subcode

       set http=server.CreateObject("WinHttp.WinHttpRequest.5.1")

       http.SetTimeouts 30000,50000,30000,30000

       http.Open "POST", "http://bms./sms_gateway/sms_api", False

       http.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"

      

       http.Send sendStr

      

       If Err.Number = 0 Then

              send_sms=trim(http.responsetext)

              'Response.Write send_sms

       else

              send_sms=-1

              Response.Write Err.Number

       end if

       http.Abort()

end function

 

dim ret

 

ret = send_sms ("4003","xxxxxxxx","13900000000","中华人民共和国万岁","","4003")

 

Response.Write ret

 

%>

3.Perl 代码

#!/usr/bin/perl

use LWP::UserAgent;

use HTTP::Request::Common;

 

sub sms_send

#通过http post 发送短消息

{

       my($user_id,$password,$mobile_phone,$msg,$send_date,$subCode)=@_;

      

       my @parm;

    my $url="http://bms./sms_gateway/sms_api"; 

       my $ua = LWP::UserAgent->new();

 

       push(@parm,'user_id',$user_id);

       push(@parm,'password',$password);

      push(@parm,'mobile_phone',$mobile_phone);

      push(@parm,'msg',$msg);

      push(@parm,'send_date',$send_date);

      push(@parm,'subCode',$subCode);

 

    my $req = POST $url, \@parm;

    my $response = $ua->request($req);

 

        if ($response->is_success)

        {

                return($response->content);

        }

        else

        {

                return("310 network is busy!");

        }

 

}

 

$ret_str=&sms_send('4003','xxxxxx','13900000000','test msg from perl code','','4003');

print "$ret_str";

4.Java 代码

package hichina.util;

 

import java.net.URLEncoder;

import java.net.URL;

import java.net.URLConnection;

import java.util.*;

import java.io.*;

 

class http_post

{

 

  public String send_sms(String user_id, String password, String mobile_phone,

                         String msg, String send_date, String subcode) {

    String ret_str = "";

    try {

    // Construct data

      String data = "user_id=" + user_id + "&password=" + password +

          "&mobile_phone=" + mobile_phone +

          "&msg=" + URLEncoder.encode(msg, "GBK") + "&send_date=" + send_date +

          "&subcode=" + subcode;

    // Send data

      URL url = new URL("http://bms./sms_gateway/sms_api");

      URLConnection conn = url.openConnection();

      conn.setDoOutput(true);

      OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());

      wr.write(data);

      wr.flush();

 

    // Get the response

      BufferedReader rd = new BufferedReader(new InputStreamReader(conn.

          getInputStream()));

      String line;

      while ( (line = rd.readLine()) != null) {

          ret_str += line;

      }

      wr.close();

      rd.close();

    }

    catch (Exception e) {

      System.out.println(e.toString());

    }

 

    return ret_str;

  }

 

  public static void main(String[] args) throws IOException

  {

    http_post http= new http_post();

    String ret=http.send_sms("4003","xxxxxxx","13900000000","fromjava中国万岁","","4003");

    System.out.println(ret);

  }

 

}

5C# 代码

static string SenderMobileMessage(string MessageContent, string Mobiles)

{

string sendStr = "http://bms./sms_gateway/sms_api?


user_id=8888&password=123456&mobile_phone=" + Mobiles + "&msg=" + System.Web.HttpUtility.UrlEncode(MessageContent,Encoding.Default) + "&sendtime=&subcode=8888";

HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(sendStr);

System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();

System.IO.Stream stream = response.GetResponseStream();

System.IO.StreamReader reader = new System.IO.StreamReader(stream, System.Text.Encoding.GetEncoding("gb2312"));

System.String s = reader.ReadToEnd();

stream.Close();

response.Close();

return s;

}

static void Main(string[] args)

{

       SenderMobileMessage(“测试发送”,”13900000000”);

}

 

 

备注:以上代码都经过实际测试,均可粘贴到客户程序中直接使用,如有问题请与客服部门联系。

四、API帐户查询管理

       网址:http://bms./apimis/

功能:查询账号剩余数及每日发送短信条数

 

 

中国万网产品研发部  2010-05-19 更新

 

(全文完)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多