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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
解析crontab php自动运行的方法
Jun 24 PHP
浅析echo(),print(),print_r(),return之间的区别
Nov 27 PHP
帝国cms目录结构分享
Jul 06 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
Dec 10 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
PHP使用XMLWriter读写xml文件操作详解
Jul 31 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
PHP实现rar解压读取扩展包小结
Jun 03 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可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
2007/10/01 Javascript
Javascript的常规数组和关联数组对比小结
2012/05/24 Javascript
js函数中onmousedown和onclick的区别和联系探讨
2013/05/19 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
关于 jQuery Easyui异步加载tree的问题解析
2016/12/06 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
Vue实现多标签选择器
2019/11/28 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
python实现ipsec开权限实例
2014/11/11 Python
python实现flappy bird小游戏
2018/12/24 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
美国零售商店:Blue&Cream
2017/04/07 全球购物
爱游人:Travelliker
2017/09/05 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
运动会稿件50字
2014/02/17 职场文书
团结就是力量演讲稿
2014/05/21 职场文书
大学生求职信怎么写
2015/03/19 职场文书
幼儿园教师读书笔记
2015/06/29 职场文书
三十年同学聚会感言
2015/07/30 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
素质教育培训心得体会
2016/01/19 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python