网站短信接口,HTTP接口文档

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

一、工作方式

双方通过HTTP方式交互数据,第三方可以简单的“name=value”方式发送提交内容或响应请求内容。即通过HTTP的GET/POST方式交换。

 

    另外双方需要保证数据传输的完整性和安全性,每次发送请求都有响应(响应返回格式为纯文本),安全验证目前采用用户名和密码的方式。

 

二、字符编码

服务器接收数据可以是GBK或UTF-8编码字符,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数encode=utf8。
请求响应返回内容是GBK编码。

 

三、响应格式

所为响应即每次向服务器提交请求后返回值

响应值格式为纯文本
状态码

如发送成功后返回
100

 

四、短信发送

GET/POST操作格式:

 

http://http.c123.com/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容

 

接口参数说明:

参数名
 参数字段
 参数说明
 
uid
 用户账号
  
 
pwd
 用户密码
 小写32位MD5加密
 
time
 定时时间
 可选项,及时发送时参数无 格式:YYYY-MM-DD HH:MM 如:"2010-05-27 12:01" (年-月-日 时:分),发送时间以北京时间为准
 
mid
 子扩展号
 可选项,根据用户账号是否支持扩展
 
encode
 字符编码
 可选项,默认接收数据是GBK编码,如提交的是UTF-8编码字符,需要添加参数 encode=utf8
 
mobile
 接收号码
 同时发送给多个号码时,号码之间用英文半角逗号分隔(,)如:13972827282,13072827282,02185418874

GET  方式每次最多可以提交50条号码

POST 方式每次最多可以提交2000条号码[建议用POST方式提交]
 
content
 短信内容
 发送内容需要进行URL字符标准化转码。
{URL字符编码说明:返回字符串,此字符串中除了-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)}

ASP:server.URLEncode("短信内容")

PHP:urlencode("短信内容")

JAVA:java.net.URLEncoder.encode("短信内容")
 

例:

接 收 号:13900008888,13900009999,13100006666,0218882228

发送内容:中国短信网发送测试

http://http.c123.com/tx/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d&mobile=13900008888,13900009999,13100006666,0218882228&content=%D6%D0%B9%FA%B6%CC%D0%C5%CD%F8%B7%A2%CB%CD%B2%E2%CA%D4

发成功时响应状态码值: 

100

返回发送的状态码

状态码     说明

100         发送成功

101         验证失败

102         短信不足

103         操作失败

104         非法字符

105         内容过多

106         号码过多

107         频率过快

108         号码内容空

109         账号冻结

110         禁止频繁单条发送

111         系统暂定发送

120         系统升级

 

 

五、接收回复短信

GET操作的格式:

 

http://http.c123.com/rx/?uid=用户账号&pwd=MD5位32密码

 

接口参数说明:

参数
 参数字段名
 说明
 
uid
 用户账号
  
 
pwd
 用户密码
 小写32位MD5加密
 

 

例:

http://http.c123.com/rx/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d 


响应结果为纯文本,每次可接收多条回复信息:

状态码{&}回复号码||回复内容||回复时间||回复网关号{&}回复号码||回复内容||回复时间||回复网关号…….



例响应结果值:

100{&}13912341234||中国短信测试回复||2008-05-27 12:10:11||1068112227282{&}15912343333||中国短信测试回复2||2008-05-27 13:11:11||106811222728200
返回发送的状态码



无回复内容时返回空

 

状态码     说明

100         接收成功

101         验证失败

 

 

 

 

 

六、取剩余短信条数

GET操作格式:

 

http://http.c123.com/mm/?uid=用户账号&pwd=MD5位32密码

 

接口参数说明:

参数
 参数字段名
 说明
 
uid
 用户账号
  
 
pwd
 用户密码
 小写32位MD5加密
 

 

例:

http://http.c123.com/mm/?uid=9999&pwd=fa246d0262c3925617b0c72bb20eeb1d 


响应结果为纯文本:

状态码||剩余可发短信 



例响应结果值:

100||22348



状态码     说明

100         请求成功

101         验证失败

 

 

七、程序示例

ASP示例 发送短信

<%

'--------------------------------

'功能:        中国短信网ASP HTTP接口示例

'修改:        2009-04-08

'作者:        短信网技术 QQ 1084690886

'说明:        http://http.c123.com/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容

'--------------------------------*/

dim mobile,content

mobile = "13955447828,02188744445,13154316688"          '多个号码之间用”,”分隔

content = "中国短信网短信测试123"                       '发送内容

sendsms trim(replace(mobile),",",",")),trim(content)

Sub sendsms(mobile,msg)

dim userid,password,status

dim xmlObj,sendurl

userid = "9999"        '用户帐号

password = "9999"       '用户密码

password = LCASE(MD5(password,32))

sendurl="http://http.c123.com/tx/?uid="&userid&"&pwd="&password&"&mobile="&mobile&"&content="&server.URLEncode(msg)

set xmlObj = server.CreateObject("Microsoft.XMLHTTP")

xmlObj.Open "GET",sendurl,false

xmlObj.send()

status = xmlObj.responseText

set xmlObj = nothing

if status = "100" then '发送成功

     Response.Write "发送成功!"

else '发送失败

     Response.Write "发送失败!"

end if

End sub

%>

 

PHP示例 发送短信

/*--------------------------------

功能:              中国短信网PHP HTTP接口

修改:              2009-04-08

作者:         短信网技术 QQ 1084690886

说明:              http://http.c123.com/tx/?uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容

--------------------------------*/

$uid = '9999';  //用户账号

$pwd = '9999';       //用户密码

$http = 'http://http.c123.com/tx/';         //发送地址

$mobile   = '13912341234,13312341234,13512341234,02122334444'; //多个号码之间用”,”分隔

$content = '中国短信网PHP&HTTP接口';       //发送内容

 

//即时发送

$res = sendSMS($mobile,$content);

echo $res;

 

//定时发送

$time = '2010-05-27 12:11';

//$res = sendSMS($mobile,$content,$time);

//echo $res;

 

function sendSMS($mobile,$content,$time='',$mid='')

{

       global $uid,$pwd,$http;

       $data = array

              (

              'uid'=>$uid,                                //用户账号

              'pwd'=>strtolower(md5($pwd)),     //MD5位32密码小写

              'mobile'=>$mobile,                       //号码

              'content'=>$content,                    //内容

              'time'=>$time,                              //空即时发送

              'mid'=>$mid                                       //子扩展号

              );

       $re= postSMS($http,$data);

       if( trim($re) == '100' )

       {

              return "发送成功!";

       }

       else 

       {

              return "发送失败!";

       }

}

 

function postSMS($url,$data='')

{

       $row = parse_url($url);

       $host = $row['host'];

       $port = $row['port'] ? $row['port']:80;

       $file = $row['path'];

       while (list($k,$v) = each($data)) 

       {

              $post .= rawurlencode($k)."=".rawurlencode($v)."&"; //转URL标准码

       }

       $post = substr( $post , 0 , -1 );

       $len = strlen($post);

       $fp = fsockopen( $host ,$port, $errno, $errstr, 10);

       if (!$fp) {

              return "$errstr ($errno)\n";

       } else {

              $receive = '';

              $out = "POST $file HTTP/1.1\r\n";

              $out .= "Host: $host\r\n";

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

              $out .= "Connection: Close\r\n";

              $out .= "Content-Length: $len\r\n\r\n";

              $out .= $post;        

              fwrite($fp, $out);

              while (!feof($fp)) {

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

              }

              fclose($fp);

              $receive = explode("\r\n\r\n",$receive);

              unset($receive[0]);

              return implode("",$receive);

       }

}

?>