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 相关文章推荐
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
基于PHP中的常用函数回顾
Jul 11 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
ThinkPHP表单自动提交验证实例教程
Jul 18 PHP
PHP中cookie和session的区别实例分析
Aug 28 PHP
php compact 通过变量创建数组
Nov 15 PHP
PHP实践教程之过滤、验证、转义与密码详解
Jul 24 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
php实现微信发红包功能
Jul 13 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
Oct 12 PHP
PHP实现支持CURL字符串证书传输的方法
Mar 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
基于mysql的bbs设计(一)
2006/10/09 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
php将图片保存入mysql数据库失败的解决方法
2014/12/27 PHP
php简单分页类实现方法
2015/02/26 PHP
PHP中使用curl入门教程
2015/07/02 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
js实现车辆管理系统
2020/08/26 Javascript
django框架实现模板中获取request 的各种信息示例
2019/07/01 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
西班牙手机之家:Phone House
2018/10/18 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
培训主管的岗位职责
2013/11/23 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
法人代表委托书
2014/04/04 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
社区禁毒工作方案
2014/06/02 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js