///////////////////////语音验证/////////////////////////////
/**
 * 发送短信(语音验证码)云片语音服务
 * @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. vue2重写饿了么

    构建 vue有自己的脚手架构建工具vue-cli,使用起来非常方便,使用webpack来集成各种开发便捷工具,比如: 代码热更新,修改代码之后网页无刷新改变,对前端开发来说非常的方便 PostCss, ...

  2. Sql 知识点小结

    使用数据库的好处: 1.安全 2.支持多用户操作 3.误删数据比较容易恢复 4.存储较大容量的数据MySql: MYsql AB公司开发的数据库, 现在归属Oracle公司,开元的关系型数据库RDBM ...

  3. win8下 msvcr100d.dll文件缺失解决方法

    一.如果在运行某软件或编译程序时提示缺少.找不到msvcp100d.dll等类似提示,您可将从载来的msvcp100d.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或 ...

  4. HR从业者的下一个十年该怎么做?

    众所周知,目前我们所处的以互联网为代表的新经济时代,有两个重要的特征一是客户价值至上,二是人力资本主权.围绕这两个基本特征,我们需要重新架构我们的商业模式和创新人力资源管理思维.模式.工具和方法. 人 ...

  5. 从C#到TypeScript - async await

    总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...

  6. 不想当程序员的CEO不是好投资人:小米雷军23年前所写代码曝光

    众所周知,雷军是小米创办人,董事长兼CEO,但是较少人知道,其实雷军是程序员出身,并且在程序员这个行业里一做就是十年.有网友曝光了一段23年前雷军所写的代码,一起来看下. 可以看出这段代码写于1994 ...

  7. fetch使用的常见问题及解决办法

    首先声明一下,本文不是要讲解fetch的具体用法,不清楚的可以参考MDN fetch教程. 引言 说道fetch就不得不提XMLHttpRequest了,XHR在发送web请求时需要开发者配置相关请求 ...

  8. 漂亮的代码3:flatten 一个数组

    看到一个题目: flatten([1,2,3]) // => [1,2,3] flatten([[1,2,3],["a","b","c" ...

  9. HAProxy实战

    实验目的 测试基于haproxy的反代和负载均衡配置 测试keepalived高可用haproxy的效果 实验要点 (1) 动静分离discuzx,动静都要基于负载均衡实现: (2) 进一步测试在ha ...

  10. UITableView多层展开与收起

    规则要求: tableview 有多层,类似于xcode文件目录的层级关系,每一个最开始展示的层姑且称之为根目录吧,并且,每个根目录下的层数不定. 与文件目录类似,每个目录下可以有不同层级的目录同时展 ...