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