首页 > 建站百科 > 网站建设 > 最土团的短信接口

最土团的短信接口

时间:2016-09-24 09:57:00 来源:西安网站建设
最土程序的接口他是调用了最土程序api接口的,他位于最土的服务器上。

这个必须让最土给你分配一个会员名称和密码,这样才能顺利的调用短信接口.帐户和密码分别可以在后台配置.

西安网站制作-www.sxqswl.net整理发布,转载注明。

 

http://notice.zuitu.com/sms?user=USERNAME&pass=PASSWORD&phones=PHONES&content=CONTENT

 

参数说明:

USERNAME:在本短信平台注册的用户名

PASSWORD:平台登录密码MD5后的值

PHONES:目标手机号码,多个手机号码使用半角逗号分隔,最多300个

CONTENT:发送内容,编码建议采用UTF-8。。。长度67个字以内,1个字母和1个汉字都认为是1个字,超出67字的,会拆分为两条短信。

返回 '+OK' 视为发送成功,其他内容为错误提示内容

最土短信接口的配置信息保存在\include\configure\sms.php文件中,数组格式为以下格式

$value = array (

'user' => 'username', //最土短信平台用户名

 'pass' => 'password', //最土短信平台密码,非MD5加密。

'interval' => '300', //用户联系点击短信发送的,时间间隔限制,管理员点发不受此限制 ,单位为妙;

 'numbers' => '5', //用户购买订单后每张优惠券最多发送次数

 );

 

最土短信接口的发送文件位置于include/function/sms.php文件,里面的sms_send()函数就是用来发送短信的函数。他有两个参数,

一个是$phone就是发送短信目标手机号码,另外一个参数就是最土短信发送的内容信息。

最土的短信发送函数如下:

 

<?php

//************************

function sms_send($phone, $content) {

global $INI;

if (mb_strlen($content, 'UTF-8') < 20) { //mb_strlen 获取短信的长度,将一个中文字符当做长度1来计算。。

return '短信长度低于20汉字?长点吧~'; //strlen计算时,对待一个UTF8的中文字符是2个长度;

}

$user = strval($INI['sms']['user']); //获取\include\configure\sms.php文件中最土短信平台用户名

$pass = strtolower(md5($INI['sms']['pass'])); //同上,,转为小写。

if(null==$user) return true;

$content = urlEncode($content); //将字符串以URL编码

$api = "http://notice.zuitu.com/sms?user={$user}&pass={$pass}&phones={$phone}&content={$content}"; //最土的短信发送API

$res = Utility::HttpRequest($api); //include/library/Utility.class.php中的HttpRequest 方法。

return trim(strval($res))=='+OK' ? true : strval($res);

}

// 封装一个url。然后通过调用curl方式来发送短信。

// 最土短信接口发送信息有一个返回值,为true或者是false.如果发送成功,返回true否则返回false.

 

//*****************************

static function HttpRequest($url, $data=array(), $abort=false) {

if ( !function_exists('curl_init') ) { return empty($data) ? self::DoGet($url) : self::DoPost($url, $data); } //判断数据接收方式 调用本类下的DoPost 或DoGet方法

$timeout = $abort ? 1 : 2;

$ch = curl_init(); //初始化一个CURL会话

if (is_array($data) && $data) {

$formdata = http_build_query($data); //根据数组产生一个urlencode之后的请求字符串。

// $data = array('foo'=>'bar', 'baz'=>'boom', 'cow'=>'milk','php'=>'hypertext processor');

// 类似于foo=bar&baz=boom&cow=milk&php=hypertext+processor

curl_setopt($ch, CURLOPT_POST, true); //如果你想PHP去做一个正规的HTTP POST,设置这个选项为一个非零值(true)。这个POST是普通的

// application/x-www-from-urlencoded 类型,多数被HTML表单使用。

curl_setopt($ch, CURLOPT_POSTFIELDS, $formdata); //传递一个作为HTTP “POST”操作的所有数据的字符串。

}

curl_setopt($ch, CURLOPT_URL, $url); //PHP取回的URL地址。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //设定是否显示头信息

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //在发起连接前等待的时间,如果设置为0,则不等待。

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //设置一个长整形数,作为最大延续多少秒。

$result = curl_exec($ch); //// 抓取URL并把它传递给浏览器

return (false===$result && false==$abort)? ( empty($data) ? self:: DoGet($url) : self::DoPost($url, $data) ) : $result;

}

 

//*******************************

static public function DoGet($url){

$url2 = parse_url($url); // 解析 URL,返回其组成部分. 由于省略了 component 参数,所以返回一个关联数组 array

$url2["path"] = ($url2["path"] == "" ? "/" : $url2["path"]); //键值有scheme - 如 http ,host ,port ,user ,pass,path,query - 在问号 ? 之后, fragment - 在散列符号 # 之后

$url2["port"] = ($url2["port"] == "" ? 80 : $url2["port"]);

$host_ip = @gethostbyname($url2["host"]); //到指定的Internet主机名对应的IPv4地址,,返回互联网的IPv4地址指定的主机的 主机名。

$fsock_timeout = 2; //2 second

if(($fsock = fsockopen($host_ip, $url2['port'], $errno, $errstr, $fsock_timeout)) < 0){

return false;

}

$request = $url2["path"] .($url2["query"] ? "?".$url2["query"] : "");

$in = "GET " . $request . " HTTP/1.0\r\n";

$in .= "Accept: */*\r\n";

$in .= "User-Agent: Payb-Agent\r\n";

$in .= "Host: " . $url2["host"] . "\r\n";

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

if(!@fwrite($fsock, $in, strlen($in))){

fclose($fsock);

return false;

}

return self::GetHttpContent($fsock);

}

 

?>

阅读过此文章的读者,还阅读过下面的文章

2016-09-24 09:57:00      西安网站公司在高端网站建设前期需要做一些什么?
2016-09-24 09:57:00      网站被黑怎么办?以及怎么预防网站被黑?
2016-09-24 09:57:00      西安企业网站建设哪家专业?
2016-09-24 09:57:00      西安网站建设之现在什么样的内容百度会喜欢
2016-09-24 09:57:00      怎么样合理的建设一个英文网站
2016-09-24 09:57:00      决定网站存活率的重要因素有哪些,你知道吗?
2016-09-24 09:57:00      网站建设合同的一些注意事项
2016-09-24 09:57:00      网站建设开发的包含哪些重要的事项
2016-09-24 09:57:00      网站建设中域名注册的几个注意事项
2016-09-24 09:57:00      网站建设并不神秘,方法论铸就神奇
2016-09-24 09:57:00      网站建设流程
2016-09-24 09:57:00      英文网站跟中文网站的建设区别