万网API短信平台的部分例子代码

原创 2007年09月22日 18:43:00
 

HTML Tags and JavaScript tutorial



万网API短信平台的部分例子代码





 
 
API短信平台的部分例子代码
 
例子代码
下面分别列出了常用的四种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.hichina.com/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.hichina.com', 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.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.hichina.com/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";
3.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.hichina.com/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);
  }
 
}
4. 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.hichina.com/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
%>
 
 
备注:以上代码都经过实际测试,均可粘贴到您的站点程序中直接使用,如有问题请与客服部门联系。
 


相关文章推荐

JAVA利用短信平台API免费发送短信的程序

首先 下载 3个jar 包: commons-logging-1.1.1.jar commons-codec-1.4.jar commons-httpclient-3.1.jar    ...

API服务短信平台

  • 2015年09月07日 11:12
  • 7.11MB
  • 下载

短信平台JAVA版API+源码

  • 2010年10月04日 16:19
  • 9KB
  • 下载

短信平台PHP代码

class SmsApi { /** * SMSAPI请求 */ const API_URL = 'api.sms.cn/sms/'; /*  接口账号 */ protecte...

短信平台接口API

  • 2014年04月22日 18:21
  • 36KB
  • 下载

Android Studio集成ShareSDK免费短信平台

ShareSDK是一个很强大的服务平台,提供了集成的社会化分享组件,比如微博、QQ空间、QQ、微信等。此外,它还提供了一个免费的短信验证平台,但是官方的SDK只适用于eclipse,这篇笔记记录一下在...

我工作这几年(三) -- 实现短信平台

我工作这几年(三)-- 实现短信平台 快到了07年底的时候,新的任务过来了,需要基于公司的短信协议栈来实现一个短信业务平台,目标是要尽可能高地实现短信平台的性能,以方便后面的业务扩展。 根据最初的设计...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:万网API短信平台的部分例子代码
举报原因:
原因补充:

(最多只允许输入30个字)