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 相关文章推荐
递归列出所有文件和目录
Oct 09 PHP
php中的一个中文字符串截取函数
Feb 14 PHP
php adodb连接不同数据库
Mar 19 PHP
php判断变量类型常用方法
Apr 24 PHP
php中通过curl smtp发送邮件
Jun 05 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
PHP实现获取域名的方法小结
Nov 05 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
基于php编程规范(详解)
Aug 17 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
Protoss兵种介绍
2020/03/14 星际争霸
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
10个php函数实用却不常见
2015/10/13 PHP
PHP实现根据数组的值进行分组的方法
2017/04/20 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
实现JavaScript中继承的三种方式
2009/10/16 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
vue-cli系列之vue-cli-service整体架构浅析
2019/01/14 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
[01:12]DOTA2次级职业联赛 - Newbee.Y 战队宣传片
2014/12/01 DOTA
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
python操作sqlite的CRUD实例分析
2015/05/08 Python
Python找出list中最常出现元素的方法
2016/06/14 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
python读写csv文件实例代码
2019/07/05 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
h5网页水印SDK的实现代码示例
2019/02/19 HTML / CSS
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
联想德国官网:Lenovo Germany
2018/07/04 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
如何启动时不需输入用户名与密码
2014/05/09 面试题
商场开业庆典策划方案
2014/06/02 职场文书
党支部反对四风思想汇报
2014/10/10 职场文书
募捐感谢信
2015/01/22 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL