PHP
PHP代碼示例
//接口類型:達信通觸發短信接口,支持發送驗證碼短信、訂單通知短信等。 // 賬戶注冊:請通過該地址開通賬戶http://sms.wx96.com/register.html // 注意事項: //(1)調試期間,請用默認的模板進行測試,默認模板詳見接口文檔; //(2)請使用 用戶名(例如:cf_demo123)及 APIkey來調用接口,APIkey在會員中心可以獲取; //(3)該代碼僅供接入達信通短信接口參考使用,客戶可根據實際需要自行編寫; //開啟SESSION session_start(); header("Content-type:text/html; charset=UTF-8"); //請求數據到短信接口,檢查環境是否 開啟 curl init。 function Post($curlPost,$url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost); $return_str = curl_exec($curl); curl_close($curl); return $return_str; } //將 xml數據轉換為數組格式。 function xml_to_array($xml){ $reg = "/<(\w+)[^-->]*>([\\x00-\\xFF]*)<\\/\\1>/"; if(preg_match_all($reg, $xml, $matches)){ $count = count($matches[0]); for($i = 0; $i < $count; $i++){ $subxml= $matches[2][$i]; $key = $matches[1][$i]; if(preg_match( $reg, $subxml )){ $arr[$key] = xml_to_array( $subxml ); }else{ $arr[$key] = $subxml; } } } return $arr; } //random() 函數返回隨機整數。 function random($length = 6 , $numeric = 0) { PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000); if($numeric) { $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1)); } else { $hash = ''; $chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghjkmnpqrstuvwxyz'; $max = strlen($chars) - 1; for($i = 0; $i < $length; $i++) { $hash .= $chars[mt_rand(0, $max)]; } } return $hash; } //短信接口地址 $target = "http://106.wx96.com/webservice/sms.php?method=Submit"; //獲取手機號 $mobile = $_POST['mobile']; //獲取驗證碼 $send_code = $_POST['send_code']; //生成的隨機數 $mobile_code = random(4,1); if(empty($mobile)){ exit('手機號碼不能為空'); } //防用戶惡意請求 if(empty($_SESSION['send_code']) or $send_code!=$_SESSION['send_code']){ exit('請求超時,請刷新頁面后重試'); } $post_data = "account=用戶名&password=密碼&mobile=".$mobile."&content=".rawurlencode("您的驗證碼是:".$mobile_code."。請不要把驗證碼泄露給其他人。"); //用戶名是登錄wx96.com賬號名(例如:cf_demo123) //查看密碼請登錄用戶中心->驗證碼、通知短信->帳戶及簽名設置->APIKEY $gets = xml_to_array(Post($post_data, $target)); if($gets['SubmitResult']['code']==2){ $_SESSION['mobile'] = $mobile; $_SESSION['mobile_code'] = $mobile_code; } echo $gets['SubmitResult']['msg'];