
# curl SDK使用说明
#### 操作场景
使用curl命令调用APP认证的API时，您需要先下载JavaScript SDK生成curl命令，然后将curl命令复制到命令行调用API。
#### 前提条件
- 已获取API的调用信息，具体请参见[开发准备](https://support.huaweicloud.com/devg-roma/apic-dev-190216004.html)。
- 浏览器版本为Chrome 89.0或以上版本。
 
#### 获取SDK
**旧版界面**：登录ROMA Connect实例控制台，在"服务集成 APIC \> API调用"的"SDK"页签中下载SDK。
**新版界面**：登录ROMA Connect实例控制台，在"服务集成 APIC \> 凭据管理"的"SDKs"页签中下载SDK。
解压后目录结构如下：
| 名称                          | 说明                   |
|:---|:---|
| signer.js                   | SDK代码                |
| node_demo.js                | Node.js示例代码          |
| demo.html                   | 浏览器示例代码              |
| demo_require.html           | 浏览器示例代码（使用require加载） |
| test.js                     | 测试用例                 |
| js\\hmac-sha256.js          | 依赖库                  |
| licenses\\license-crypto-js | 第三方库license文件        |
| licenses\\license-node      | 第三方库license文件        |
   
#### 调用API示例
1. 使用JavaScript SDK生成curl命令。 解压SDK，在浏览器中打开demo.html，页面如下图所示。
   ![](https://support.huaweicloud.com/devg-roma/zh-cn_image_0266226974.png "点击放大")
   
2. 输入API所授权凭据的Key和Secret，并指定方法名、请求url，可参考[获取API的调用信息](https://support.huaweicloud.com/devg-roma/apic-dev-190216004.html#apic-dev-190216004__section17143919101020)获取。例如：
   ```
   // Directly writing AK/SK in code is risky. For security, encrypt your AK/SK and store them in the configuration file or environment variables. 
   // In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, set environment variables HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. 
   Key=4f5f626b-073f-402f-a1e0-e52171c6100c
   Secret=******
   Method=POST
   Url=https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1
   ```
   
3. 输入json格式的Query和Headers，填入Body。
4. 单击"Send request"，生成curl命令。将curl命令复制到命令行，访问API。
   ```
   //若使用系统分配的子域名访问https请求的API时，需要忽略证书校验，在-d后添加“ -k”
   $ curl -X POST "https://c967a237-cd6c-470e-906f-a8655461897e.apigw.exampleRegion.com/app1" -H "X-Sdk-Date: 20180530T115847Z" -H "Authorization: SDK-HMAC-SHA256 Access=071fe245-9cf6-4d75-822d-c29945a1e06a, SignedHeaders=host;x-sdk-date, Signature=9e5314bd156d517******dd3e5765fdde4" -d ""
   Congratulations, sdk demo is running
   ```
   ![](https://support.huaweicloud.com/devg-roma/public_sys-resources/note_3.0-zh-cn.png)
   SDK生成的curl命令不符合Window下cmd终端格式，请在git bash下执行生成的curl命令。
   
 
