文章出處

  最近和同學們一起開發一個自主項目,要用到短信驗證碼,在網上搜索了很久,看到一個推薦貼,提到了很多不錯的短信服務商。經過測試,帖子中提到的服務商他們的短信到達率和到達速度也都不錯。最后,由于經費問題,我們決定選用云片網絡。以下是開發流程:

  首先,注冊并登陸到后臺,并填寫一些信息、申請。獲得APIKEY。

  接下來,有了APIKEY就能開發接口了。

<?php
header("Content-Type:text/html;charset=utf-8");
$apikey = "********填入APPKEY********";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded','charset=utf-8')); // 設置驗證方式
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 設置返回結果為流
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 設置超時時間
curl_setopt($ch, CURLOPT_POST, 1); // 設置通信方式
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// 發送模板短信
// 需要對value進行編碼
$mobile = 12345678910; // 接收短信的手機號
$code = getRandomCheckCode(); // 要發送的驗證碼
$data=array(
    'tpl_id'    => 5, // 此處為模板id,不設置時默認為1
    'tpl_value'    => urlencode('#code#').'='.urlencode($code)
        .'&'.urlencode('#company#').'='.urlencode('公司名稱')
        .'&'.urlencode('#app#').'='.urlencode('app名稱'),
    'apikey'    => $apikey,
    'mobile'    =>$mobile
);

curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v1/sms/tpl_send.json');
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$send_result = json_decode(curl_exec($ch), true);
curl_close($ch);
if(0 == $send_result['code']) { // 成功

} else { // 失敗

}
// 此處附上一個驗證碼生成函數
 function getRandomCheckCode() {
     $chars = '0123456789';
     mt_srand((double)microtime()*1000000*getmypid());
     $CheckCode="";
     while(strlen($CheckCode)<6)
         $CheckCode.=substr($chars,(mt_rand()%strlen($chars)),1);
     return $CheckCode;
 }
?>

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()