本文为您介绍使用OpenAPI查询CNAME接入详情的完整示例。
查看OpenAPI文档
通过阅读API概览得知,查询CNAME接入详情的OpenAPI为DescribeDomainDetail。请您根据文档,了解调用该接口需要准备的数据和权限。
创建RAM用户并授权
身份
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。
登录RAM访问控制,创建一个仅允许API调用的RAM用户,并记录AccessKey信息。具体操作,请参见创建RAM用户。
授权
访问RAM用户列表,单击目标RAM用户操作列的添加权限。
在选择权限区块中输入关键字
WAF
进行搜索,选择AliyunYundunWAFv3FullAccess策略。说明WAF的系统权限策略如下:
AliyunYundunWAFv3FullAccess:管理WAF 3.0的权限。
AliyunYundunWAFv3ReadOnlyAccess:只读访问WAF 3.0的权限。
单击确定,完成授权操作。
凭证
在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页面,在认证管理页签,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey。
调用OpenAPI
本文以Python语言为例,为您介绍OpenAPI的调用方法。
准备Python环境
下载并安装Python。
Python 3的下载地址,请参见Python 3。
查看Python版本。
Linux和macOS系统
打开终端,输入
python --version
。Windows系统
在Python的安装路径下,双击python.exe。
打开命令提示符页面。
通过键盘快捷键Win+R打开运行对话框,输入命令python,单击确定。
配置环境变量
为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。
Linux和macOS系统
将以下命令中的
<access_key_id>
和<access_key_secret>
替换为您自己的AccessKey ID和AccessKey Secret,输入到终端执行。
export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
Windows系统
新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。
安装依赖
pip install alibabacloud_waf_openapi20211001==2.0.2
下载示例代码
在OpenAPI门户,访问DescribeDomainDetail接口的调试地址。
请求参数InstanceId输入waf_v3prepaid_public_cn-uqm3bmw****,Domain输入srtest.****.top,直接单击发起调用。
先单击SDK示例页签,再单击Python页签。
获取Python语言的SDK示例。
单击下载完整工程,下载示例代码包。
在本地解压示例代码包,并进入alibabacloud_sample目录。
运行代码
执行以下命令:
python sample.py
得到如下输出结果:
{
"Status": 1,
"ResourceManagerResourceGroupId": "rg-acfmyqfktarf2ha",
"RequestId": "7072AAC6-C786-5861-88A6-C18626244BD1",
"CertDetail": {
"EndTime": 1971038823000,
"Sans": [
"*.wafqax.top"
],
"StartTime": 1655678823000,
"Id": "9853636-cn-hangzhou",
"Name": "auto_****_all",
"CommonName": "srtest.****.top"
},
"Listen": {
"ProtectionResource": "share",
"HttpsPorts": [
443
],
"TLSVersion": "tlsv1",
"Http2Enabled": false,
"CertId": "*cn-hangzhou",
"CipherSuite": 1,
"EnableTLSv3": false,
"IPv6Enabled": false,
"XffHeaderMode": 1,
"HttpPorts": [
80
]
},
"Redirect": {
"ConnectTimeout": 5,
"Keepalive": true,
"SniEnabled": false,
"ReadTimeout": 120,
"KeepaliveTimeout": 15,
"Backends": [
{
"Backend": "39.98.XX.XX"
},
{
"Backend": "39.98.XX.XX"
}
],
"FocusHttpBackend": false,
"WriteTimeout": 120,
"AllBackends": [
"39.98.XX.XX"
],
"Retry": true,
"KeepaliveRequests": 1000,
"Loadbalance": "iphash"
},
"Domain": "srtest.****.top",
"Cname": "*.yundunwaf3.com"
}
- 本页导读 (1)