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 搜索框提示(自动完成)实例代码
Feb 05 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
使用Thinkphp框架开发移动端接口
Aug 05 PHP
PHP中in_array函数使用的问题与解决办法
Sep 11 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
php版微信自定义回复功能示例
Dec 05 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
php文件包含的几种方式总结
Sep 19 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数组
2006/10/09 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php调用shell的方法
2014/11/05 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php短信接口代码
2016/05/13 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
使用正则替换变量
2007/05/05 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
2012/12/04 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
jquery 使用简明教程
2014/03/05 Javascript
node.js中的fs.readlink方法使用说明
2014/12/17 Javascript
JavaScript计划任务后台运行的方法
2015/12/18 Javascript
BootStrap表单宽度设置方法
2017/03/10 Javascript
Vuex 入门教程
2018/01/10 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
Python操作json数据的一个简单例子
2014/04/17 Python
python+django快速实现文件上传
2016/10/24 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
美国高端牛仔品牌:Silver Jeans
2019/12/12 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
四年的大学生生活自我评价
2013/12/09 职场文书
一个大学生十年的职业规划
2014/01/17 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
离婚答辩状范文
2015/05/22 职场文书
养成教育工作总结
2015/08/13 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
java设计模式--建造者模式详解
2021/07/21 Java/Android