///////////////////////语音验证/////////////////////////////
/**
 * 发送短信(语音验证码)云片语音服务
 * @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. java字节数组格式化为十六进制字符串

    /** * 格式化byte * * @param b * @return */ public static String byte2hex(byte[] b) { char[] Digit = { ' ...

  2. [Android ADB] An auto-input method for Android and Windows

    The Valentine's Day is coming. Here is an auto-input method and you may use it to send multiple word ...

  3. swift 运算符快速学习(建议懂OC或者C语言的伙伴学习参考)

    昨晚看了swift 的运算符的知识点,先大概说一下,这个点和 c 或者oc 的算运符知识点一样,都是最基础最基础的.其他的最基本的加减乘除就不多说了.注意的有几点点..先说求余数运算: 一 :求余数运 ...

  4. java-4-类和对象

    一.以下代码为何无法通过编译?哪儿出错了? 错误:只定义了一个有参数的构造函数.而在主函数中定义的Foo类对象调用的是无参数的构造函数. 更改后: 二.多当个类之间有继承关系时,创建子类对象会导致父类 ...

  5. 康复计划#4 快速构造支配树的Lengauer-Tarjan算法

    本篇口胡写给我自己这样的老是证错东西的口胡选手 以及那些想学支配树,又不想啃论文原文的人- 大概会讲的东西是求支配树时需要用到的一些性质,以及构造支配树的算法实现- 最后讲一下把只有路径压缩的并查集卡 ...

  6. 深入探讨 CSS 特性检测 @supports 与 Modernizr

    什么是 CSS 特性检测?我们知道,前端技术日新月异的今天,各种新技术新属性层出不穷.在 CSS 层面亦不例外. 一些新属性能极大提升用户体验以及减少工程师的工作量,并且在当下的前端氛围下: 很多实验 ...

  7. collectionView布局

    关于 collectionView的layout布局方法: 设置cell的间距,行间距,组与组之间的间距,都是在layout里面来设置. 包括,滚动方向. -(void)prepareLayout [ ...

  8. javascript深入理解js闭包(转载)

    一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量 ...

  9. 玩转 iOS 10 推送 —— UserNotifications Framework(合集)

    iOS 10 came 在今年 6月14号 苹果开发者大会 WWDC 2016 之后,笔者赶紧就去 apple 的开发者网站下载了最新的 Xcode 8 beta 和 iOS 10 beta,然后在自 ...

  10. 翻译:使用 Redux 和 ngrx 创建更佳的 Angular 2

    翻译:使用 Redux 和 ngrx 创建更佳的 Angular 2 原文地址:http://onehungrymind.com/build-better-angular-2-application- ...