最新文章
- MySQL中, group by 和 order by 一起使用会有排序问题,group by 和 order by 同时使用时要注意的地方
- Vue学习笔记(10) ——Vue组件中的data和methods
- Vue学习笔记(9) ——Vue组件创建的几种方式
- Vue学习笔记(8) ——Vue实例的生命周期
- Vue学习笔记(7) —— 过滤器 filter的基本使用
- Vue学习笔记(6) ——v-if指令和v-show指令
- Vue学习笔记(5) —— v-for指令和key属性
- Vue学习笔记(5) —— Vue中样式-class样式和style样式
- Vue学习笔记(4) —— v-model指令,双向数据绑定
- Vue学习笔记(3) —— Vue事件修饰符
关注我

在线咨询
x
有什么可以帮到你

点击咨询
聚合数据(www.juhe.cn)短信API服务接口PHP请求示例源码
- 分类:PHP技术
- 时间:2018-03-19
- 共1577人围观
简介使用前你需要: ①:通过http://www.juhe.cn/docs/api/id/54 申请短信API服务 ②:在短信模板中心,添加一个模板,并通过审核
使用前你需要:
①:通过http://www.juhe.cn/docs/api/id/54 申请短信API服务
②:在短信模板中心,添加一个模板,并通过审核
一、聚合数据(www.juhe.cn)短信API服务接口PHP请求示例源码
<?php header('content-type:text/html;charset=utf-8'); class SendCode { private $key; private $tpl_id; public function __construct() { $this->key = 'AppKey'; // 聚合数据后台的AppKey $this->tpl_id = 'tpl_id'; // 申请的短信模板ID,根据实际情况修改短信模板 } public function send($mobile){ if (empty($mobile)) { $this->show_json(-4,'手机号不能为空'); } $code = mt_rand(100000,999999); $sendUrl = 'http://v.juhe.cn/sms/send'; //短信接口的URL $smsConf = array( 'key' => $this->key, //您申请的APPKEY 'mobile' => $mobile, //接受短信的用户手机号码 'tpl_id' => $this->tpl_id, //您申请的短信模板ID,根据实际情况修改 'tpl_value' =>'#code#='.$code.'&#company#=聚合数据' //您设置的模板变量,根据实际情况修改 ); $content = $this->juhecurl($sendUrl,$smsConf, 1); //请求发送短信 if($content){ $result = json_decode($content,true); $error_code = $result['error_code']; if($error_code == 0){ //状态为0,说明短信发送成功 $data['code'] = $code; $this->show_json(1, $data); }else{ //状态非0,说明失败 $msg = $result['reason']; $this->show_json(-3, "短信发送失败(".$error_code."):".$msg); } }else{ //返回内容异常,以下可根据业务逻辑自行修改 $this->show_json(-3, '请求发送短信失败'); } } /** * 请求接口返回内容 * @param string $url [请求的URL地址] * @param string $params [请求的参数] * @param int $ipost [是否采用POST形式] * @return string */ public function juhecurl($url,$params=false,$ispost=0){ $httpInfo = array(); $ch = curl_init(); curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 ); curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22' ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 ); curl_setopt( $ch, CURLOPT_TIMEOUT , 30); curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true ); if( $ispost ) { curl_setopt( $ch , CURLOPT_POST , true ); curl_setopt( $ch , CURLOPT_POSTFIELDS , $params ); curl_setopt( $ch , CURLOPT_URL , $url ); } else { if($params){ curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params ); }else{ curl_setopt( $ch , CURLOPT_URL , $url); } } $response = curl_exec( $ch ); if ($response === FALSE) { return false; } $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE ); $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) ); curl_close( $ch ); return $response; } public function show_json($status = 1, $return = NULL) { $ret = array('status' => $status); if (!is_array($return)) { if ($return) { $ret['result']['message'] = $return; } exit(json_encode($ret)); } else { $ret['result'] = $return; } exit(json_encode($ret)); } }
二、调用示例
<?php $send = new SendCode(); $send->send(15113993183);