最土團(tuán)的短信接口

2016-09-07    分類: 網(wǎng)站建設(shè)

成都網(wǎng)站制作口他是調(diào)用了最土程序api接口的,他位于最土的服務(wù)器上。

這個(gè)必須讓最土給你分配一個(gè)會(huì)員名稱和密碼,這樣才能順利的調(diào)用短信接口.帳戶和密碼分別可以在后臺(tái)配置.

成都網(wǎng)站制作

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

參數(shù)說明:

USERNAME:在本短信平臺(tái)注冊(cè)的用戶名

PASSWORD:平臺(tái)登錄密碼MD5后的值

PHONES:目標(biāo)手機(jī)號(hào)碼,多個(gè)手機(jī)號(hào)碼使用半角逗號(hào)分隔,最多300個(gè)

CONTENT:發(fā)送內(nèi)容,編碼建議采用UTF-8。。。長(zhǎng)度67個(gè)字以內(nèi),1個(gè)字母和1個(gè)漢字都認(rèn)為是1個(gè)字,超出67字的,會(huì)拆分為兩條短信。

返回 '+OK' 視為發(fā)送成功,其他內(nèi)容為錯(cuò)誤提示內(nèi)容

最土短信接口的配置信息保存在\include\configure\sms.php文件中,數(shù)組格式為以下格式

$value = array (

'user' => 'username', //最土短信平臺(tái)用戶名

 'pass' => 'password', //最土短信平臺(tái)密碼,非MD5加密。

'interval' => '300', //用戶聯(lián)系點(diǎn)擊短信發(fā)送的,時(shí)間間隔限制,管理員點(diǎn)發(fā)不受此限制 ,單位為妙;

 'numbers' => '5', //用戶購(gòu)買訂單后每張優(yōu)惠券最多發(fā)送次數(shù)

 );

最土短信接口的發(fā)送文件位置于include/function/sms.php文件,里面的sms_send()函數(shù)就是用來發(fā)送短信的函數(shù)。他有兩個(gè)參數(shù),

一個(gè)是$phone就是發(fā)送短信目標(biāo)手機(jī)號(hào)碼,另外一個(gè)參數(shù)就是最土短信發(fā)送的內(nèi)容信息。

最土的短信發(fā)送函數(shù)如下:

<?php

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

function sms_send($phone, $content) {

global $INI;

if (mb_strlen($content, 'UTF-8') < 20) { //mb_strlen 獲取短信的長(zhǎng)度,將一個(gè)中文字符當(dāng)做長(zhǎng)度1來計(jì)算。。

return '短信長(zhǎng)度低于20漢字?長(zhǎng)點(diǎn)吧~'; //strlen計(jì)算時(shí),對(duì)待一個(gè)UTF8的中文字符是2個(gè)長(zhǎng)度;

}

$user = strval($INI['sms']['user']); //獲取\include\configure\sms.php文件中最土短信平臺(tái)用戶名

$pass = strtolower(md5($INI['sms']['pass'])); //同上,,轉(zhuǎn)為小寫。

if(null==$user) return true;

$content = urlEncode($content); //將字符串以URL編碼

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

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

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

}

// 封裝一個(gè)url。然后通過調(diào)用curl方式來發(fā)送短信。

// 最土短信接口發(fā)送信息有一個(gè)返回值,為true或者是false.如果發(fā)送成功,返回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); } //判斷數(shù)據(jù)接收方式 調(diào)用本類下的DoPost 或DoGet方法

$timeout = $abort ? 1 : 2;

$ch = curl_init(); //初始化一個(gè)CURL會(huì)話

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

$formdata = http_build_query($data); //根據(jù)數(shù)組產(chǎn)生一個(gè)urlencode之后的請(qǐng)求字符串。

// $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去做一個(gè)正規(guī)的HTTP POST,設(shè)置這個(gè)選項(xiàng)為一個(gè)非零值(true)。這個(gè)POST是普通的

// application/x-www-from-urlencoded 類型,多數(shù)被HTML表單使用。

curl_setopt($ch, CURLOPT_POSTFIELDS, $formdata); //傳遞一個(gè)作為HTTP “POST”操作的所有數(shù)據(jù)的字符串。

}

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

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //設(shè)定是否顯示頭信息

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); //在發(fā)起連接前等待的時(shí)間,如果設(shè)置為0,則不等待。

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //設(shè)置一個(gè)長(zhǎng)整形數(shù),作為大延續(xù)多少秒。

$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 參數(shù),所以返回一個(gè)關(guān)聯(lián)數(shù)組 array

$url2["path"] = ($url2["path"] == "" ? "/" : $url2["path"]); //鍵值有scheme - 如 http ,host ,port ,user ,pass,path,query - 在問號(hào) ? 之后, fragment - 在散列符號(hào) # 之后

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

$host_ip = @gethostbyname($url2["host"]); //到指定的Internet主機(jī)名對(duì)應(yīng)的IPv4地址,,返回互聯(lián)網(wǎng)的IPv4地址指定的主機(jī)的 主機(jī)名。

$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);

}

?>

本文名稱:最土團(tuán)的短信接口
瀏覽路徑:http://www.muchs.cn/news1/46201.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站策劃企業(yè)網(wǎng)站制作、做網(wǎng)站標(biāo)簽優(yōu)化、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)