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获得用户使用的代理服务器ip即真实ip
Dec 31 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
php日历制作代码分享
Jan 20 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP验证码类ValidateCode解析
Jan 07 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
Nov 10 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 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 CLI模式下的多进程应用分析
2013/06/03 PHP
Jquery选择器 $实现原理
2009/12/02 Javascript
ExtJS DOM元素操作经验分享
2013/08/28 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
详解Python的Django框架中的templates设置
2015/05/11 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
python装饰器使用实例详解
2019/12/14 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python中os.remove()用法及注意事项
2021/01/31 Python
python 实现Requests发送带cookies的请求
2021/02/08 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
求职信标题怎么写
2014/05/26 职场文书
庆六一开幕词
2015/01/29 职场文书
画展邀请函
2015/01/31 职场文书
计划生育目标责任书
2015/05/09 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
如何写好竞聘报告
2019/04/03 职场文书
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫