文章出處
文章列表
最近和同學們一起開發一個自主項目,要用到短信驗證碼,在網上搜索了很久,看到一個推薦貼,提到了很多不錯的短信服務商。經過測試,帖子中提到的服務商他們的短信到達率和到達速度也都不錯。最后,由于經費問題,我們決定選用云片網絡。以下是開發流程:
首先,注冊并登陸到后臺,并填寫一些信息、申請。獲得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; } ?>
文章列表
全站熱搜