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
%>
备注:以上代码都经过实际测试,均可粘贴到您的站点程序中直接使用,如有问题请与客服部门联系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫