2016-09-07 分類: 網站建設
這個必須讓最土給你分配一個會員名稱和密碼,這樣才能順利的調用短信接口.帳戶和密碼分別可以在后臺配置.
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就是發送短信目標手機號碼,另外一個參數就是最土短信發送的內容信息。
最土的短信發送函數如下:
//************************
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);
}
?>
新聞標題:最土團的短信接口
本文URL:http://m.newbst.com/news/46201.html
成都網站建設公司_創新互聯,為您提供網站排名、建站公司、App設計、電子商務、云服務器、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容