App開發(Android與php接口)之:短信驗證碼

  最近和同窗們一塊兒開發一個自主項目,要用到短信驗證碼,在網上搜索了好久,看到一個推薦貼,提到了不少不錯的短信服務商。通過測試,帖子中提到的服務商他們的短信到達率和到達速度也都不錯。最後,因爲經費問題,咱們決定選用雲片網絡。如下是開發流程:php

  首先,註冊並登錄到後臺,並填寫一些信息、申請。得到APIKEY。html

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

<?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;
 }
?>
相關文章
相關標籤/搜索