基于PHP实现短信验证码接口(容联运通讯)
发布时间:2020-12-12 21:42:10 所属栏目:PHP教程 来源:网络整理
导读:自己也是刚刚研究,希望对也在研究的伙伴有帮助。 步骤: 1、登录荣联运通讯注册获取ACCOUNT SID、AUTH TOKEN、Rest URL(生产)、AppID(默认); 2、注册测试用手机号码(先注册测试号码方可使用); 3、下载demo示例,并将代码放到项目中(最好单独建文件夹存
自己也是刚刚研究,希望对也在研究的伙伴有帮助。 步骤:1、登录荣联运通讯注册获取ACCOUNT SID、AUTH TOKEN、Rest URL(生产)、AppID(默认); 2、注册测试用手机号码(先注册测试号码方可使用); 3、下载demo示例,并将代码放到项目中(最好单独建文件夹存储)。 代码区:一、新建test.app.php(测试用控制器)display('test.html');
}
public function get_info()
{
include_once(ROOT_PATH.'/includes/rly_message/rest.app.php');//引入模板文件
//主帐号,对应开官网发者主账号下的 ACCOUNT SID
$accountSid = '';
//主帐号令牌,对应官网开发者主账号下的 AUTH TOKEN
$accountToken = '';
//应用Id,在官网应用列表中点击应用,对应应用详情中的APP ID
//在开发调试的时候,可以使用官网自动为您分配的测试Demo的APP ID
$appId ='';
//请求地址
//沙盒环境(用于应用开发调试):sandboxapp.cloopen.com
//生产环境(用户应用上线使用):app.cloopen.com
$serverIP ='app.cloopen.com';
//请求端口,生产环境和沙盒环境一致
$serverPort ='8883';
//REST版本号,在官网文档REST介绍中获得。
$softVersion ='2013-12-26';
//global $accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion;
$phone_mob = isset($_GET['phone_mob']) ? $_GET['phone_mob'] : '';
if($phone_mob){
$this->sendTemplateSMS($phone_mob,array('3519','5'),"1",$accountSid,$softVersion);//手机号码,替换内容数组,模板ID
}
}
/**
* 发送模板短信
* @param to 手机号码集合,用英文逗号分开
* @param datas 内容数据 格式为数组 例如:array('Marry','Alon'),如不需替换请填 null
* @param $tempId 模板Id,测试应用和未上线应用使用测试模板请填写1,正式应用上线后填写已申请审核通过的模板ID
*/
public function sendTemplateSMS($to,$datas,$tempId,$softVersion)
{
// 初始化REST SDK
$rest = new RestApp($serverIP,$softVersion);
$rest->setAccount($accountSid,$accountToken);
$rest->setAppId($appId);
// 发送模板短信
echo "Sending TemplateSMS to $to
"; $result = $rest->sendTemplateSMS($to,$tempId); if($result == NULL ) { echo "result error!"; exit(); } if($result->statusCode!=0) { echo "error code :" . $result->statusCode . " "; echo "error msg :" . $result->statusMsg . " "; //TODO 添加错误处理逻辑 }else{ echo "Sendind TemplateSMS success! "; // 获取返回信息 $smsmessage = $result->TemplateSMS; echo "dateCreated:".$smsmessage->dateCreated." "; echo "smsMessageSid:".$smsmessage->smsMessageSid." "; //TODO 添加成功处理逻辑 } } } 二、模板文件(rest.app.php可根据自己使用的框架重新命名,也可直接使用demo原先的名字)RestApp($ServerIP,$SoftVersion);
}
function RestApp($ServerIP,$SoftVersion)
{
$this->Batch = date("YmdHis");
$this->ServerIP = $ServerIP;
$this->ServerPort = $ServerPort;
$this->SoftVersion = $SoftVersion;
$this->Handle = fopen($this->Filename,'a');
}
/**
* 设置主帐号
*
* @param AccountSid 主帐号
* @param AccountToken 主帐号Token
*/
function setAccount($AccountSid,$AccountToken){
$this->AccountSid = $AccountSid;
$this->AccountToken = $AccountToken;
}
/**
* 设置应用ID
* @param AppId 应用ID
*/
function setAppId($AppId){
$this->AppId = $AppId;
}
/**
* 打印日志
*
* @param log 日志内容
*/
function showlog($log){
if($this->enabeLog){
fwrite($this->Handle,$log."n");
}
}
/**
* 发起HTTPS请求
*/
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,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);
//连接失败
if($result == FALSE){
if($this->BodyType=='json'){
$result = "{"statusCode":"172001","statusMsg":"网络错误"}";
} else {
$result = "
三、前台模板代码(test.html)
输入验证码:
四、js代码以上所述是小编给大家介绍的基于PHP实现短信验证码接口(容联运通讯)。编程之家 52php.cn 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |