好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php天翼开放平台短信发送接口实现 - 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);  //获取短信信任码 www.phpfensi.com   $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']}&timestamp=" . $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&timestamp={$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 www.phpfensi.com 加密算法是否存在   curl_setopt( $ch , CURLOPT_SSL_VERIFYHOST, false);  $state  = curl_exec( $ch );  //var_dump(curl_getinfo($ch));   curl_close( $ch );  //echo $state;   ?>

查看更多关于php天翼开放平台短信发送接口实现 - php高级应用的详细内容...

  阅读:58次