SMS 認証コードは誰にもわかりません

WBOY
リリース: 2016-06-23 13:09:31
オリジナル
836 人が閲覧しました

Web サイトには API があり、現在はフロント ページが 1 つだけあります。PHP の書き方を教えてください。これまで一度も接触したことがありません。方法を知っている方がいらっしゃいましたら、QQ804135715 に追加していただき、さらに詳しく教えていただきたいです。ディスカッション (解決策)

使用されていません。SMS サービス プロバイダーが提供するものを確認してください。API インターフェイス

には www.yuntongxun.com の SMS 確認コードがあり、速度は非常に高速です。平均して。以下はクラス ファイルです

<?php/** * 云通讯短信类 * @author yuanjiang **/if(!defined('IN_T')){   die('hacking attempt');}class Sms_yuntongxun{    	//开发者账号	private $AccountSid;	//开发者Token	private $AccountToken;	//应用id	private $AppId;	//短信模板id	private $TemplateId;	//请求地址,格式如下,不需要写https://	//private $ServerIp='sandboxapp.cloopen.com';   //开发环境url    private $ServerIP='app.cloopen.com';  //生产环境url    //请求端口     private $ServerPort='8883';    //REST版本号    private $SoftVersion='2013-12-26';	//当前时间    private $Batch;		/**	 * 构造	 */	function __construct($accountsid,$accounttoken,$appid,$tempid){	   $this->AccountSid = $accountsid; 	   $this->AccountToken = $accounttoken;	   $this->AppId = $appid;	   $this->TemplateId = $tempid;	   $this->Batch = date('YmdHis',time());	}	/**	 * 发送短信	 */ 	public function sendMsg($to,$datas)    {        // 拼接请求包体        $data="";        for($i=0;$i<count($datas);$i++){           $data = $data. "'".$datas[$i]."',";         }        $body= "{'to':'$to','templateId':'".$this->TemplateId."','appId':'$this->AppId','datas':[".$data."]}";              // 大写的sig参数         $sig =  strtoupper(md5($this->AccountSid . $this->AccountToken . $this->Batch));        // 生成请求URL                $url="https://$this->ServerIP:$this->ServerPort/$this->SoftVersion/Accounts/$this->AccountSid/SMS/TemplateSMS?sig=$sig";        // 生成授权:主帐户Id + 英文冒号 + 时间戳。        $authen = base64_encode($this->AccountSid . ":".$this->Batch);        // 生成包头          $header = array("Accept:application/json","Content-Type:application/json;charset=utf-8","Authorization:$authen");        // 发送请求        $result = $this->curl_post($url,$body,$header);        $datas=json_decode($result);         /*         if($datas == FALSE){           $datas = new stdClass();           $datas->statusCode = '172003';           $datas->statusMsg = '返回包体错误';         }		*/        //重新装填数据        if($datas->statusCode==0){           $datas->TemplateSMS =$datas->templateSMS;           unset($datas->templateSMS);           }        return $datas;     } 		/**     * 发起HTTPS请求     */    private function curl_post($url,$data,$header,$post=1)    {       //初始化curl       $ch = curl_init();       //参数设置         $res= curl_setopt ($ch, CURLOPT_URL,$url);         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);       curl_setopt ($ch, CURLOPT_HEADER, 0);       curl_setopt($ch, CURLOPT_POST, $post);       if($post)          curl_setopt($ch, CURLOPT_POSTFIELDS, $data);       curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);       curl_setopt($ch,CURLOPT_HTTPHEADER,$header);       $result = curl_exec ($ch);       curl_close($ch);       return $result;    } }/** * 应用实例//主帐号$accountSid= 'xxxxxx';//主帐号Token$accountToken= 'xxxxxx';//应用Id$appId='xxxxxx';//模板Id$templateId='xxxxxx';$Sms_yuntongxun = new Sms_yuntongxun($accountSid,$accountToken,$appId,$templateId);print_r($Sms_yuntongxun->sendMsg('13612345678',array(273262,'注册新用户',15)));*/?>
ログイン後にコピー

SMS プロバイダーにはインターフェイスがあるはずです。提供されたデモに従ってそれを記述するだけです

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート