php天翼开放平台短信发送接口实现方法


Posted in PHP onDecember 22, 2014

本文实例讲述了php天翼开放平台短信发送接口实现方法。分享给大家供大家参考。具体分析如下:

临时性需求,研究了一下天翼开发平台的东西,用来发送验证码还是不错的,但是每日限额不多,所以很鸡肋,但是保证100%到达 买的话还是蛮贵的,代码没有做任何优化处理,只是测试是否可以实现接口,用的同学记得完善代码,刚写完老大又说是鸡肋的东西,不用了,代码放在博客记录下,代码如下:

<?php 

// 

date_default_timezone_set('PRC'); 

//获取access_token 

$data = "app_id=x&app_secret=x&grant_type=client_credentials"; 

$ch = curl_init("https://oauth.api.189.cn/emp/oauth2/v2/access_token"); 

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 

curl_setopt($ch,CURLOPT_POST,1);//使用post提交数据 

curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//设置 post提交的数据 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

// 从证书中检查SSL加密算法是否存在 

 

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 

$access_token = curl_exec($ch); 

curl_close($ch); 

$access_token = json_decode($access_token,true); 

//获取短信信任码  

$timestamp = date('Y-m-d H:i:s'); 

 

$param['app_id'] = "app_id=x"; 

$param['access_token'] = "access_token=".$access_token['access_token']; 

$param['timestamp'] = "timestamp=".$timestamp; 

ksort($param); 

$plaintext = implode("&",$param); 

$sign = rawurlencode(base64_encode(hash_hmac('sha1',$plaintext,app_secret,true))); 

//echo $sign;exit; 

$code = file_get_contents("http://api.189.cn/v2/dm/randcode/token?app_id=x&access_token={$access_token['access_token']}×tamp=".$timestamp."&sign=".$sign); 

$code = json_decode($code,true); 

$code = $code['token']; 

echo $code; 

//下发验证码 

unset($param,$plaintext,$sign); 

$param['app_id'] = "app_id=x"; 

$param['access_token'] = "access_token=".$access_token['access_token']; 

$param['token'] = "token=".$code; 

$param['phone'] = "phone=15091421612"; 

$param['url'] = "url=http://wx.podapi.com/test.php"; 

$param['exp_time'] = "exp_time=2"; 

$param['timestamp'] = "timestamp=".$timestamp; 

ksort($param); 

$plaintext = implode("&",$param); 

$sign = rawurlencode(base64_encode(hash_hmac('sha1',$plaintext,'xx',true))); 

 

$data = "app_id=x&access_token={$access_token['access_token']}&token={$code}&phone=15091421612&url=http://wx.podapi.com/test.php&exp_time=2×tamp={$timestamp}&sign=".$sign; 

$ch = curl_init("http://api.189.cn/v2/dm/randcode/send"); 

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 

curl_setopt($ch,CURLOPT_POST,1);//使用post提交数据 

curl_setopt($ch,CURLOPT_POSTFIELDS,$data);//设置 post提交的数据 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

// 从证书中检查SSL  加密算法是否存在 

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 

$state = curl_exec($ch); 

//var_dump(curl_getinfo($ch)); 

curl_close($ch); 

//echo $state; 

?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP中路径问题的解决方案
Oct 09 PHP
php empty函数 使用说明
Aug 10 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
PHP 时间日期操作实战
Aug 26 PHP
php json与xml序列化/反序列化
Oct 28 PHP
Yii操作数据库的3种方法
Mar 11 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
Jul 01 PHP
PHP设置进度条的方法
Jul 08 PHP
功能强大的php分页函数
Jul 20 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 11 PHP
详解PHP Swoole与TCP三次握手
May 27 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 #PHP
WebQQ最新登陆协议的用法
Dec 22 #PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
Dec 22 #PHP
php有道翻译api调用方法实例
Dec 22 #PHP
php匹配字符中链接地址的方法
Dec 22 #PHP
php用户注册时常用的检验函数实例总结
Dec 22 #PHP
CentOS6.5 编译安装lnmp环境
Dec 21 #PHP
You might like
php网上商城购物车设计代码分享
2012/02/15 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
PHP数组实际占用内存大小原理解析
2020/12/11 PHP
js数字转换为float,取N位小数
2014/02/08 Javascript
全面详细的jQuery常见开发技巧手册
2016/02/21 Javascript
AngularJS基础 ng-options 指令详解
2016/08/02 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
Vue异步组件处理路由组件加载状态的解决方案
2018/09/07 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
Python提取支付宝和微信支付二维码的示例代码
2019/02/15 Python
Python实现的多进程拷贝文件并显示百分比功能示例
2019/04/09 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
师范生个人推荐信
2013/11/29 职场文书
校园活动策划书范文
2014/01/10 职场文书
公安学专业求职信
2014/07/27 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
计生个人工作总结
2015/02/28 职场文书
一篇文章弄懂Python中的内建函数
2021/08/07 Python
四十九个javascript小知识实用技巧
2021/11/20 Javascript
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技