阿里大鱼 阿里云api
阿里短信服务API接入指南及示例 : https://yq.aliyun.com/articles/59928

=========================================================================================================
<?php); curl_setopt($ch, CURLOPT_HTTPHEADER, $request_header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $ret = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); return $ret; }
<?php); curl_setopt($ch, CURLOPT_HTTPHEADER, $request_header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $ret = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); return $ret; }
<?php
$app_key = "DLTAIC5J9oxhB6mN0F";
$app_secret = "DD7CVlBBMqh1SOHDiSIslXUNGUUzyHL";
$request_paras = array(
'ParamString' => '{"name":"123456"}',
'RecNum' => '15076263366',
'SignName' =>'阿里云短信测试专用',
'TemplateCode' => 'SMS_102400010'
);
$request_host = "http://sms.market.alicloudapi.com";
$request_uri = "/singleSendSms";
$request_method = "GET";
$info = "";
$content = do_get($app_key, $app_secret, $request_host, $request_uri, $request_method, $request_paras, $info);
print_r($content); // API返回值
# print_r($info); // 系统请求返回信息
function do_get($app_key, $app_secret, $request_host, $request_uri, $request_method, $request_paras, &$info) {
ksort($request_paras);
$request_header_accept = "application/json;charset=utf-8";
$content_type = "";
$headers = array(
'X-Ca-Key' => $app_key,
'Accept' => $request_header_accept
);
ksort($headers);
$header_str = "";
$header_ignore_list = array('X-CA-SIGNATURE', 'X-CA-SIGNATURE-HEADERS', 'ACCEPT', 'CONTENT-MD5', 'CONTENT-TYPE', 'DATE');
$sig_header = array();
foreach($headers as $k => $v) {
if(in_array(strtoupper($k), $header_ignore_list)) {
continue;
}
$header_str .= $k . ':' . $v . "\n";
array_push($sig_header, $k);
}
$url_str = $request_uri;
$para_array = array();
foreach($request_paras as $k => $v) {
array_push($para_array, $k .'='. $v);
}
if(!empty($para_array)) {
$url_str .= '?' . join('&', $para_array);
}
$content_md5 = "";
$date = "";
$sign_str = "";
$sign_str .= $request_method ."\n";
$sign_str .= $request_header_accept."\n";
$sign_str .= $content_md5."\n";
$sign_str .= "\n";
$sign_str .= $date."\n";
$sign_str .= $header_str;
$sign_str .= $url_str;
$sign = base64_encode(hash_hmac('sha256', $sign_str, $app_secret, true));
$headers['X-Ca-Signature'] = $sign;
$headers['X-Ca-Signature-Headers'] = join(',', $sig_header);
$request_header = array();
foreach($headers as $k => $v) {
array_push($request_header, $k .': ' . $v);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_host . $url_str);
//curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$ret = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return $ret;
}

阿里大鱼 阿里云api的更多相关文章
- asp实现阿里大鱼短信API接口的方法
阿里大鱼是阿里推出的产品,官方提供JAVA..NET.PHP等版本的SDK下载,不知为何,唯独不提供ASP版本的SDK. 不提供没关系,自己写就是了,参照官方提供的API写一个就是了. 本来以为无非是 ...
- 【阿里云API】 阿里云API调用的若干说明
阿里云API 为了监控我们使用的一些阿里云产品,需要些一些脚本,定时调用这些脚本来获得相关阿里云产品的信息. ■ 概述 调用阿里云API大约分成两类方法,一个是直接从HTTP协议开始,自己根据阿里云的 ...
- 阿里云API网关(11)外网访问 阿里云API网关内定义的API步骤:
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- 阿里云API网关(9)常见问题
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- 阿里云api调用做简单的cmdb
阿里云api调用做简单的cmdb 1 步骤 事实上就是调用阿里api.获取可用区,比方cn-hangzhou啊等等.然后在每一个区调用api 取ecs的状态信息,最好写到一个excel里面去.方便排序 ...
- Python 调用阿里云 API 收集 ECS 数据
#!/usr/bin/env python # coding: utf-8 # author: Wang XiaoQiang ''' 功能介绍: 1.调用阿里云API,收集所有区域 ECS 信息 2. ...
- 阿里云API网关!
API 网关(API Gateway)提供高性能.高可用的 API 托管服务,帮助用户对外开放其部署在 ECS.容器服务等阿里云产品上的应用,提供完整的 API 发布.管理.维护生命周期管理.用户只需 ...
- 利用用阿里云API实现DDNS
前言 之前动态域名解析是用的是腾达路由器上集成的第三方动态解析服务花生壳,解析费用一年40元.后来觉得域名前缀不好,想换掉,花生壳需要重新购买新的域名解析费用,增加1条或者2条动态解析无所谓,万一以后 ...
- 阿里云 API 签名机制的 Python 实现
在调用阿里云 API 的时候,最让人头疼的就是 API 的签名(Signature)机制,阿里云在通用文档中也有专项说明,但是仅仅有基于 Java 的实现代码示例.所以这里基于 Python 来分析下 ...
随机推荐
- JavaScript的DOM编程--07--节点的属性
节点的属性: 1). nodeName: 代表当前节点的名字. 只读属性. 如果给定节点是一个文本节点, nodeName 属性将返回内容为 #text 的字符串 2). nodeType:返回一个整 ...
- 二:mysql安装配置、主从复制配置详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8213723.html 邮箱:moyi@moyib ...
- thinkinginjava学习笔记07_多态
在上一节的学习中,强调继承一般在需要向上转型时才有必要上场,否则都应该谨慎使用: 向上转型和绑定 向上转型是指子类向基类转型,由于子类拥有基类中的所有接口,所以向上转型的过程是安全无损的,所有对基类进 ...
- 关于swing的一些问题
-问题1 :Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 & ...
- WebDriver的等待方式
/* * 1.线程休眠 * 2.隐式等待 * 3.显示等待 * */ package com.sfwork; import java.util.concurrent.TimeUnit; import ...
- jQuery 文档操作方法 (四)
方法 描述 addClass() 向匹配的元素添加指定的类名. after() 在匹配的元素之后插入内容. append() 向匹配元素集合中的每个元素结尾插入由参数指定的内容. appendTo() ...
- icon图标和文字整体居中在button按钮
icon图标和文字整体居中在button按钮 icon图标和文字整体居中 一般我们常做的button按钮是文字居中 现在这个需要icon图标和文字一起居中在背景色 <a href="# ...
- 用grant命令为用户赋权限以后,登录时,出现:ERROR 1045 (28000)
ERROR 1045(28000)信息是因为权限的问题.这个ERROR分为两种情况: 第一种: ERROR 1045 (28000): Access denied for user 'root'@'l ...
- Task log(未)
Keyword: fatal, crash, dead, out of memory, oom, anr in, non-protected File: main ,sys ,crash
- python3之日期和时间
1.python3日期和时间 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时 ...