201803更新为官方精简版

只有两个文件,不压缩都才6KB左右

文件1 :Signature.php

<?php
/** 执行验证前请确保文件为utf-8编码,并替换相应参数为您自己的信息,并取消相关调用的注释* 来自2017/11/30 阿里云短信官方DEMO */namespace Aliyun\DySDKLite;/*** 签名助手 2017/11/19** Class SignatureHelper*/
class SignatureHelper {/*** 生成签名并发起请求** @param $accessKeyId string AccessKeyId (https://ak-console.aliyun.com/)* @param $accessKeySecret string AccessKeySecret* @param $domain string API接口所在域名* @param $params array API具体参数* @param $security boolean 使用https* @return bool|\stdClass 返回API接口调用结果,当发生错误时返回false*/public function request($accessKeyId, $accessKeySecret, $domain, $params, $security=false) {$apiParams = array_merge(array ("SignatureMethod" => "HMAC-SHA1","SignatureNonce" => uniqid(mt_rand(0,0xffff), true),"SignatureVersion" => "1.0","AccessKeyId" => $accessKeyId,"Timestamp" => gmdate("Y-m-d\TH:i:s\Z"),"Format" => "JSON",), $params);ksort($apiParams);$sortedQueryStringTmp = "";foreach ($apiParams as $key => $value) {$sortedQueryStringTmp .= "&" . $this->encode($key) . "=" . $this->encode($value);}$stringToSign = "GET&%2F&" . $this->encode(substr($sortedQueryStringTmp, 1));$sign = base64_encode(hash_hmac("sha1", $stringToSign, $accessKeySecret . "&",true));$signature = $this->encode($sign);$url = ($security ? 'https' : 'http')."://{$domain}/?Signature={$signature}{$sortedQueryStringTmp}";try {$content = $this->fetchContent($url);return json_decode($content);} catch( \Exception $e) {return false;}}private function encode($str){$res = urlencode($str);$res = preg_replace("/\+/", "%20", $res);$res = preg_replace("/\*/", "%2A", $res);$res = preg_replace("/%7E/", "~", $res);return $res;}private function fetchContent($url) {$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_TIMEOUT, 5);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, array("x-sdk-client" => "php/2.0.0"));if(substr($url, 0,5) == 'https') {curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);}$rtn = curl_exec($ch);if($rtn === false) {trigger_error("[CURL_" . curl_errno($ch) . "]: " . curl_error($ch), E_USER_ERROR);}curl_close($ch);return $rtn;}
}

文件2:sendsms.php

<?php
/** 此文件用于验证短信服务API接口,供开发时参考* 执行验证前请确保文件为utf-8编码,并替换相应参数为您自己的信息,并取消相关调用的注释* 来自2017/11/30 阿里云短信官方DEMO */namespace Aliyun\DySDKLite\Sms;require_once "../Signature.php";use Aliyun\DySDKLite\SignatureHelper;/*** 发送短信*/
function sendSms() {$params = array ();// *** 需用户填写部分 ***// fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息$accessKeyId = "*****************";$accessKeySecret = "**********************";// fixme 必填: 短信接收号码$params["PhoneNumbers"] = "19999999999";// fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign$params["SignName"] = "查分吧"; // fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template$params["TemplateCode"] = "SMS_13740380";// fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项$params['TemplateParam'] = Array ("code" => "12345","product" => "用户注册验证码");// fixme 可选: 设置发送短信流水号$params['OutId'] = "12345";// fixme 可选: 上行短信扩展码, 扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段$params['SmsUpExtendCode'] = "1234567";// *** 需用户填写部分结束, 以下代码若无必要无需更改 ***if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])) {$params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE);}// 初始化SignatureHelper实例用于设置参数,签名以及发送请求$helper = new SignatureHelper();// 此处可能会抛出异常,注意catch$content = $helper->request($accessKeyId,$accessKeySecret,"dysmsapi.aliyuncs.com",array_merge($params, array("RegionId" => "cn-hangzhou","Action" => "SendSms","Version" => "2017-05-25",)));return $content;
}ini_set("display_errors", "on");   // 显示错误提示,仅用于测试时排查问题
set_time_limit(0);                  // 防止脚本超时,仅用于测试使用,生产环境请按实际情况设置
header("Content-Type: text/plain; charset=utf-8"); // 输出为utf-8的文本格式,仅用于测试// 验证发送短信(SendSms)接口
print_r(sendSms());

阿里大鱼短信接口PHP版,精简版阿里大鱼短信SMS发送接口PHP实例相关推荐

  1. 台式计算机操作系统,电脑型号 X64 兼容 台式电脑 操作系统 Windows 7 旗舰版 精简版 64位 SP1 ( DirectX 11 )...

    2018-11-20 回答 就楼主的问题以及这机子的情况说几句: 1.你这是第三代ivb系列i3,属于双核四线程,并非四核u.但综合性能是非常不错的 我这里要展开篇幅,说说关于核心工作原理的问题,让楼 ...

  2. 绿色版,便携版,破解版,精简版区别

    正式版:通常是指原版或官方版本无做过任何修改的而且可以使用软件的全功能,修改系统注册表,安装并注册后才能使用,除非是免费软件. 共享版:与正式版的区别是存在功能限制,或是使用次数限制等.类似试用版. ...

  3. 阿里大鱼短信发送接口开发

    一. API接口介绍 alibaba.aliqin.fc.sms.num.send (短信发送) 向指定手机号码发送模板短信,模板内可设置部分变量.使用前需要在阿里大于管理中心添加短信签名与短信模板. ...

  4. 子弹短信 android,子弹短信精简版

    游戏简介 子弹短信app精简版是一款拒绝低效率社交沟通交流的手机应用,语音与文字完美结合高效聊天效率,无需进入聊天页面即可快速回复消息极速交互,赶快下载子弹短信app精简版体验高速列车般的高效聊天效率 ...

  5. 阿里云短信发送接口直接HTTP请求调用

    最新一个个性化项目,客户要求使用阿里云短信发送接口. 但是实在不想引入阿里云的SDK,就自己生成签名,拼接URL实现,  其实用他们的SDK最终也是一哥GET请求进行调用,归根接底还是HTTP请求. ...

  6. 阿里云短信发送接口调试

    1.注册阿里云账号,并开通云短信服务 开通短信服务时免费的,但是发短信需要从点钱,短信收费可以按发送条数收费 2.充值 3.申请短信签名 4.申请短信模板 5.创建AccessKey,这是很重要,是程 ...

  7. 阿里云短信服务接口返回: 只能向已回复授权信息的手机号发送

    项目场景: 在进入阿里云短信服务时,调用 OpenAPI-发送短信接口 , 返回异常情况及其解决. 问题描述 在进入阿里云短信服务时, 调用测试签名和测试短信模板后, 返回只能向已回复授权信息的手机号 ...

  8. PHP接口_短信发送接口

    原文链接 1.介绍 在开发中,经常会使用到短信接口用于发送短信,如在注册的时候验证手机号是否合法.找回密码的时候需要验证身份等等. 短信接口得申请之后才能使用,提供短信服务的服务商有很多的,如阿里云( ...

  9. 短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求

    前言 承接前文<短信发送接口被恶意访问的网络攻击事件(一)紧张的遭遇战险胜>,在解决了短信发送的问题后,长长地舒了口气,也就各忙各的事情去了,本以为应该是个完美的收场,哪知道只是泥泞道路的 ...

  10. 青龙2.10.13 稳定版+对接傻妞教程+短信登录+傻妞WEB控制台 超级详细

    此文章引用大佬的教程,进行更详细的阐述.如有疑问请进交流群332461037 我用的系统是centos7.6 目录 一.重装系统 1.选择centos7.6系统 2.重置服务器密码 3.服务器开放端口 ...

最新文章

  1. ARM与RISC-V之争,后起之秀的优势在哪儿?
  2. C++之多态性与虚函数
  3. 大牛书单 | 云原生技术领域好书推荐
  4. python 循环 覆盖之前print内容_Python爬虫第二战---爬取500px图片
  5. IDEA、pycharm白嫖攻略
  6. js 给服务器发消息,的Node.js:发送消息至服务器
  7. RAID卡的安装配置
  8. 转:ibatis配置简介
  9. c语言程序设计基础第三版答案,清华大学出版社-图书详情-《C语言程序设计上机指导与习题解答(第3版)》...
  10. jsp+servlet+mysql 学生选课系统
  11. Matlab中CIC滤波器的应用
  12. matlab排序算法,相同位置返回元素排名
  13. css中flex设置为1是什么意思
  14. 获取打开的记事本中的内容 - 回复 ymg1103 的问题
  15. strlen函数详解
  16. 基于区块链的自动抽奖系统从0到1实现探析预言机与跨链技术的融合发展
  17. 多线程导出excel高并发_用多线程优化Excel表格数据导入校验的接口
  18. 移动端上传头像-相册、拍摄-旋转
  19. OSChina 周六乱弹 —— 为什么中国人到了非洲都成了非洲粉
  20. RocketMQ生产者组topic和消费组的关系

热门文章

  1. jdbc跨库查询 mysql_JDBC如何实现跨数据库的查询
  2. 基于氚云平台的应用开发学习(三)
  3. [CodeComplete]创建一个函数需要理由吗
  4. OPC UA SDK案例:虹科OPC UA SDK助力立功科技ZWS云平台
  5. Linux服务器下mysql升级:
  6. android开发 解析 b5,Android iconify 使用详解
  7. 直接学python3_初学者可以直接学Python3吗?
  8. 【JAVA复习系列】第一部分
  9. 计算机通信普遍采用报文交换,报文交换
  10. 基于SSM小说阅读网站设计带爬虫功能