///////////////////////语音验证/////////////////////////////
/**
 * 发送短信(语音验证码)云片语音服务
 * @param  $apikey 用户唯一标识 32位(9b11127a9701975c734b8aee81ee3526)
 * @param  $mobile 用户手机号码
 *  
 */
 function phoneVoiceMessage() {
    //$code = $code=rand(1000, 9999);///语音播报的验证码
    //$url = "https://voice.yunpian.com/v2/voice/send.json";////语音发送接口地址
 
        $apikey = "8f9885ef60499210d9ba7c39a8043267";
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded','charset=utf-8')); // 设置验证方式
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置返回结果为流
        curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间
        curl_setopt($ch, CURLOPT_POST, 1); // 设置通信方式
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        // 发送模板短信
        // 需要对value进行编码
        $mobile = 18673305936; // 接收短信的手机号
        //$code = $this->getRandomCheckCode(); // 要发送的验证码
         $code = 1234; // 要发送的验证码
        $data=array(
            'code'      =>$code,
            'apikey'    => $apikey,
            'mobile'    =>$mobile
        );
        
        curl_setopt ($ch, CURLOPT_URL, 'https://voice.yunpian.com/v2/voice/send.json');
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        $send_result = json_decode(curl_exec($ch), true);
        curl_close($ch);
        if(0 == $send_result['code']) { // 成功
            return "success";
 
        } else { // 失败
                return "error";
        }
   $this->ajaxReturn($data);
}
 
 
 
///////////////////////云片--语音验证///////////////////////////// 
 
///////////////////////云片--短信验证/////////////////////////////   
 function notes() {
        $apikey = "********填入APPKEY********";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept:text/plain;charset=utf-8', 'Content-Type:application/x-www-form-urlencoded','charset=utf-8')); // 设置验证方式
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置返回结果为流
        curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 设置超时时间
        curl_setopt($ch, CURLOPT_POST, 1); // 设置通信方式
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        // 发送模板短信
        // 需要对value进行编码
        $mobile = 12345678910; // 接收短信的手机号
        $code = $this->getRandomCheckCode(); // 要发送的验证码
        $data=array(
            'tpl_id'    => 5, // 此处为模板id,不设置时默认为1
            'tpl_value'    => urlencode('#code#').'='.urlencode($code)
                .'&'.urlencode('#company#').'='.urlencode('公司名称')
                .'&'.urlencode('#app#').'='.urlencode('app名称'),
            'apikey'    => $apikey,
            'mobile'    =>$mobile
        );
        
        curl_setopt ($ch, CURLOPT_URL, 'https://sms.yunpian.com/v1/sms/tpl_send.json');
        curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
        $send_result = json_decode(curl_exec($ch), true);
        curl_close($ch);
        if(0 == $send_result['code']) { // 成功
 
        } else { // 失败
 
        }
    }
    ////////验证码生成函数
 function getRandomCheckCode() {
     $chars = '0123456789';
     mt_srand((double)microtime()*1000000*getmypid());
     $CheckCode="";
     while(strlen($CheckCode)<6)
         $CheckCode.=substr($chars,(mt_rand()%strlen($chars)),1);
     return $CheckCode;
 }
 ///////////////////////短信验证///////////////////////////// 

云片-语音验证码--短信验证码 - PHP接口的更多相关文章

  1. Android EditText方框验证码 短信验证码攻略

    本文由xiawe_i提供. xiawe_i的博客地址是: http://www.jianshu.com/u/fa9f03a240c6 项目中有这样一个需求: 验证码页是四个方框,输入验证码方框颜色改变 ...

  2. Android EditText方框验证码 短信验证码的实现

    package com.loaderman.securitycodedemo; import android.graphics.Color; import android.support.v7.app ...

  3. Django商城项目笔记No.5用户部分-注册接口-短信验证码

    Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...

  4. Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结

    Atitit. 破解  拦截 绕过 网站 手机 短信 验证码  方式 v2 attilax 总结 1. 验证码的前世今生11.1. 第一代验证码 图片验证码11.2. 第二代验证码  用户操作 ,比如 ...

  5. App开发(Android与php接口)之:短信验证码

    最近和同学们一起开发一个自主项目,要用到短信验证码,在网上搜索了很久,看到一个推荐贴,提到了很多不错的短信服务商.经过测试,帖子中提到的服务商他们的短信到达率和到达速度也都不错.最后,由于经费问题,我 ...

  6. 四:java调接口实现发送手机短信验证码功能

    1.点击获取验证码之前的样式: 2.输入正确的手机号后点击获取验证码之后的样式: 3.如果手机号已经被注册的样式: 4.如果一个手机号一天发送超过3次就提示不能发送: 二:前台的注册页面的代码:reg ...

  7. 请给你的短信验证码接口加上SSL双向验证

    序言 去年年底闲来几天,有位同事专门在网上找一些注册型的app和网站,研究其短信接口是否安全,半天下来找到30来家,一些短信接口由于分析难度原因,没有继续深入,但差不多挖掘到20来个,可以肆意被调用, ...

  8. php短信验证码接口接入流程及代码示例

    对于绝大部分企业来说,所使用的短信验证码接口都是第三方短信服务商所提供,目前市场上短信服务商有很多,在此向大家推荐一家动力思维乐信,运营13年,值得信赖! 就拿动力思维乐信短信验证码接口为例,详细介绍 ...

  9. Django商城项目笔记No.6用户部分-注册接口-短信验证码实现celery异步

    Django商城项目笔记No.4用户部分-注册接口-短信验证码实现celery异步 接上一篇,如何解决前后端请求跨域问题? 首先想一下,为什么图片验证码请求的也是后端的api.meiduo.site: ...

随机推荐

  1. Livy原理详解

    Livy的概述(引自社区) Livy(当前是alpha版本)是一个提供rest接口和spark集群交互的服务.它可以提交spark job或者spark一段代码,同步或者异步的返回结果:也提供spar ...

  2. 微信公众号开发总结(Node.js + express + winston)

    关于订阅号.服务号.企业号 官方定位 订阅号:主要偏于为用户传达资讯(类似报纸杂志),认证后每天可以群发一条消息,可达到宣传效果,构建与读者之间更好的沟通和管理模式. 服务号:主要偏于服务交互(类似银 ...

  3. bootstrap-导航总结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. SQLite基础回顾

    SQLite基础回顾 SQLite iOS中的数据存储方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding(N ...

  5. Webpack学习系列(二)

    一: 安装: npm install webpack-dev-server -g npm install webpack-dev-server --save (下载到当前文件夹) npm instal ...

  6. DOM操作表格——HTML DOM

    html创建表格: <table berder='1' width='300'> <thead> <tr> <th>姓名</th> < ...

  7. Boot Sector - Hello world

    1. code bits org 7c00h mov ax, cs mov ds, ax mov es, ax call DispStr jmp $ DispStr: mov ax, BootMess ...

  8. Spark性能优化之道——解决Spark数据倾斜(Data Skew)的N种姿势

    原创文章,同步首发自作者个人博客转载请务必在文章开头处注明出处. 摘要 本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partitio ...

  9. 配置虚拟主机(windows环境下nginx+php)

    需要给一个ip绑定不同域名,例如有两个项目/www/,/www2/ 需要http://a.com时访问的是www 项目 http://b.com访问的是www2项目   那么需要在nginx/conf ...

  10. Visual Studio 2017正式版发布全纪录

    又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 ...