该接口用于统计域名在每小时内URL请求数和流量,并生成最多TOP500的排行榜。用户需提供时间返回和域名,可获取URL的总请求数、总流量、命中请求数、失败请求数及不同状态码详情。接口支持按总请求数或总流量排序,以快速识别高频访问或高流量URL,该接口有助于用户监控URL访问频率及流量,以调整对应的网络策略。
| 参数名称 | 描述 |
|---|---|
dateFromString | 开始时间: 1.时间格式为 yyyy-MM-ddTHH:mm:ss±HH:mm。请注意:±HH:mm 为时区偏移量,可根据您的数据需要进行调整,例如 +00:00 代表 UTC 时间,+08:00 代表东八区,-05:00 代表西五区。2024-01-15T10:30:45+00:00,表示UTC 时间 2024 年 1 月 15 日上午 10 点 30 分 45 秒; 2.不能大于当前时间 3.最多可获取最近半年(183天)的数据。 |
dateToString | 结束时间: 1.时间格式为 yyyy-MM-ddTHH:mm:ss±HH:mm。请注意:±HH:mm 为时区偏移量,可根据您的数据需要进行调整,例如 +00:00 代表 UTC 时间,+08:00 代表东八区,-05:00 代表西五区。2024-01-15T10:30:45+00:00,表示UTC 时间 2024 年 1 月 15 日上午 10 点 30 分 45 秒; 2.结束时间需大于开始时间,结束时间如果大于当前时间,取当前时间。 3.dateFrom,dateTo二者都未传,默认查询当天;如仅有一个未传,抛异常 4.允许查询最大时间间隔:31天,即dateFrom和dateTo相差不能超过31天。(可联系技术支持调整) |
domainList | 域名: 1.可传递域名数量默认为100个,可联系技术支持调整,最大上限500; 2.自动过滤掉无效域名(如传递非法域名,会被过滤,查询结果只返回有效域名的数据)。 3.未传递该入参时,默认查询账号下所有域名,但当账号下域名数量超过上限时提示错误 |
orderByString | 排序: 1.可选值为:totalRequest、totalFlow 2.不传则默认取值 totalRequest |
| 参数名称 | 描述 |
|---|---|
topString | top排名 |
urlString | url |
totalFlowString | 总流量:计量单位MB,保留2位小数 |
totalRequestString | 总请求数 |
hitRequestString | 请求数hit值 |
missRequestString | 请求数miss值 |
sc200String | 状态码200的请求数 |
sc206String | 状态码206的请求数 |
sc302String | 状态码302的请求数 |
sc304String | 状态码304的请求数 |
sc404String | 状态码404的请求数 |
| 错误代码(code) | 描述(message) | HTTP状态码 | 语义 |
|---|---|---|---|
| NotAcceptable | Accept request header not supported, interface supports json and xml format only, default is json format | 400 | Accept请求头不支持,接口仅支持json和xml格式,默认为json格式 |
| InvalidHTTPRequest | There was an error in the body of your HTTP request. | 400 | 请求体格式错误 |
| InternalError | We encountered an internal error. Please try again. | 500 | 系统发生错误 |
| InvalidDatePeriod | The date specified is invalid. | 400 | 日期不符合 |
| PARAM_INVALID | param: domain is null or invalid | 400 | domain值为空 |
| NumberLimitExceeded | The request was rejected because the number of domain(6) exceeds the limit (5). | 400 | 输入的domain超过数据字典配置个数 |
| DateSpanError | You cannot specify a period greater than 31 day(s). | 400 | 输入的时间超过数据字典配置数 |
| PARAM_INVALID | param: orderBy is null or invalid. | 400 | 输入的orderBy参数为空或参数不正确 |
#!/bin/bash
# Please remember to change the param (-H "X-Time-Zone") in this demo to the TimeZone you want in response
username='example_username'
apiKey='example_apiKey'
date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"`
password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64`
curl -i --url "https://api.cdnetworks.com/api/report/url/top" \
-X "POST" \
-H "X-Time-Zone:GMT+00:00" \
-u "$username:$password" \
-H "Date: $date" \
-H "Accept: application/json" \
-d '{"dateFrom": "2019-01-01T10:00:00+00:00","dateTo": "2019-01-02T10:00:00+00:00","domain": ["www.aaa.com","www.bbb.com"],"orderBy": "totalRequest"
}'{
"result":[
{
"top":"1",
"url":"http://www.aaa.com/ccdrg13.image",
"totalRequest":"37947",
"totalFlow":"954624377.23",
"hitRequest":"35269",
"missRequest":"2678",
"sc200":"21331",
"sc206":"1",
"sc302":"0",
"sc304":"146",
"sc404":"0"
},
{
"top":"2",
"url":"http://www.aaa.com/css/common.jpg",
"totalRequest":"12506",
"totalFlow":"93871265",
"hitRequest":"11766",
"missRequest":"740",
"sc200":"34553",
"sc206":"13",
"sc302":"2",
"sc304":"0",
"sc404":"3"
},
{
"top":"100",
"url":"http://www.bbb.com/css/style.css",
"totalRequest":"2765",
"totalFlow":"12721647",
"hitRequest":"2467",
"missRequest":"298",
"sc200":"443241",
"sc206":"7",
"sc302":"0",
"sc304":"0",
"sc404":"0"
}
]
}