2. CURL命令测试API

获取Token

使用CURL命令生成含有csrftoken的内容cookies.txt文件:

curl -c cookies.txt -b cookies.txt -s -X GET https://console.plcloud.com/api/

查看cookies.txt数据:

[root@localhost ~]# cat cookies.txt
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.

console.plcloud.com     FALSE   /       FALSE   1466574817      csrftoken       L7gEFw8M8IwO1LIpK758zqdoOdKR51h0
#HttpOnly_console.plcloud.com   FALSE   /       FALSE   0       sessionid       dd8b606e5a7395c7ace062117fe2d6f4

得到csrftoken的值为:L7gEFw8M8IwO1LIpK758zqdoOdKR51h0

将获取到的Token进行认证注册

将上步中生成的csrftoken值,填写到csrfmiddlewaretoken中,用户名、密码和认证地址,请根据实际情况填写,如果执行成功,无返回值

Parameter name Type Description Required
csrfmiddlewaretoken String csrfmiddlewaretoken的值为上步中的csrftoken值 Yes
username String 您已注册的宝德云帐号名称 Yes
region String 认证地址,请填写 http://58.67.194.89:5001/v2.0 Yes
password String 您的宝德云帐号对应密码 Yes

认证注册请求样例:

curl -c cookies.txt -b cookies.txt -s -X POST https://console.plcloud.com/auth/login/ -H "Content-Type: application/x-www-form-urlencoded" -d "csrfmiddlewaretoken=L7gEFw8M8IwO1LIpK758zqdoOdKR51h0&region=http://58.67.194.89:5001/v2.0&username=test@plcloud.com&password=PLCloud123456"

测试API样例

上步中Token认证注册成功后,即可执行下面命令,进行API测试

请求样例:

curl -c cookies.txt -b cookies.txt -s -X POST https://console.plcloud.com/api/ -H "Content-Type: application/json" -H "x-csrftoken: L7gEFw8M8IwO1LIpK758zqdoOdKR51h0" -d '{"action": "GetUsageLimits"}'

返回样例:

{
    "message": "Get usage successfully.",
    "code": 200,
    "data": {
        "totalSnapshotsUsed": 0,
        "totalFloatingIpsUsed": 0,
        "maxPersonality": 100000,
        "maxImageMeta": 100000,
        "maxPersonalitySize": 1024000,
        "totalVolumesUsed": 1,
        "maxTotalVolumeGigabytes": 1000,
        "maxSecurityGroups": 1000,
        "totalInstancesUsed": 0,
        "maxTotalFloatingIps": 50,
        "maxTotalInstances": 100000,
        "maxTotalCores": 1000000,
        "maxServerMeta": 100000,
        "maxTotalSnapshots": 10,
        "totalCoresUsed": 0,
        "maxSecurityGroupRules": 1000,
        "maxTotalKeypairs": 1000,
        "totalRAMUsed": 0,
        "maxTotalVolumes": 10,
        "totalSecurityGroupsUsed": 1,
        "maxTotalRAMSize": 100000000,
        "totalGigabytesUsed": 10
    }
}