清华大佬耗费三个月吐血整理的几百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); } } ?>