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 模拟POST|GET操作实现代码
Jul 20 PHP
PHP Stream_*系列函数
Aug 01 PHP
PHP常用开发函数解析之数组篇[未完结]
Jul 30 PHP
Php中使用Select 查询语句的实例
Feb 19 PHP
PHP二维数组排序的3种方法和自定义函数分享
Apr 09 PHP
php的curl封装类用法实例
Nov 07 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
php文件上传、下载和删除示例
Aug 28 PHP
PHP面向对象五大原则之依赖倒置原则(DIP)详解
Apr 08 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
thinkphp5实现微信扫码支付
Dec 23 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语法自动检查的Vim插件
2014/08/11 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
JQuery 初体验(建议学习jquery)
2009/04/25 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
2016/12/29 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
d3.js实现立体柱图的方法详解
2017/04/28 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
20行python代码实现人脸识别
2019/05/05 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
德国购买踏板车网站:Microscooter
2019/10/14 全球购物
民族团结先进个人事迹材料
2014/06/02 职场文书
物理学专业自荐信
2014/06/11 职场文书
高中同学会活动方案
2014/08/14 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
无犯罪记录证明
2014/09/19 职场文书
公司员工违纪检讨书
2015/05/05 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书