php天翼开放平台短信发送接口实现方法
php天翼开放平台短信发送接口实现方法
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了php天翼开放平台短信发送接口实现方法。分享给大家供大家参考。具体分析如下:临时性需求,研究了一下天翼开发平台的东西,用来发送...

本文实例讲述了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教程学习
编程开发子分类