文档

使用OpenAPI示例

更新时间:

本文为您介绍使用OpenAPI查询CNAME接入详情的完整示例。

查看OpenAPI文档

通过阅读API概览得知,查询CNAME接入详情的OpenAPI为DescribeDomainDetail。请您根据文档,了解调用该接口需要准备的数据和权限。

创建RAM用户并授权

身份

您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。

登录RAM访问控制,创建一个仅允许API调用的RAM用户,并记录AccessKey信息。具体操作,请参见创建RAM用户

授权

  1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

  2. 选择权限区块中输入关键字WAF进行搜索,选择AliyunYundunWAFv3FullAccess策略。

    说明

    WAF的系统权限策略如下:

    • AliyunYundunWAFv3FullAccess:管理WAF 3.0的权限。

    • AliyunYundunWAFv3ReadOnlyAccess:只读访问WAF 3.0的权限。

  3. 单击确定,完成授权操作。

凭证

在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页面,在认证管理页签,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey

调用OpenAPI

本文以Python语言为例,为您介绍OpenAPI的调用方法。

准备Python环境

  1. 下载并安装Python。

    Python 3的下载地址,请参见Python 3

  2. 查看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_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。

安装依赖

pip install alibabacloud_waf_openapi20211001==2.0.2

下载示例代码

  1. 在OpenAPI门户,访问DescribeDomainDetail接口的调试地址

  2. 请求参数InstanceId输入waf_v3prepaid_public_cn-uqm3bmw****Domain输入srtest.****.top,直接单击发起调用

  3. 先单击SDK示例页签,再单击Python页签。

    获取Python语言的SDK示例。

  4. 单击下载完整工程,下载示例代码包。

  5. 在本地解压示例代码包,并进入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)
文档反馈