跳转到内容
搜索文档

发出您的第一个 API 请求

最后更新 查看 MarkdownAgent 设置

要向 Cloudflare 的 Radar API 发出第一个请求,您必须首先获取您的 API 令牌。创建一个 Custom Token,在 Permissions(权限) 组中选择 Account > Radar,并将访问级别选为 Read

获得令牌后,您就可以向 Radar 的 API 发出第一个请求了,地址为 https://api.cloudflare.com/client/v4/radar/

使用 cURL 的示例

在以下示例中,我们将访问过去七天内设备类型(如移动端和桌面端流量)的全球百分比分布。有关更多信息,请参考 Get device types summary 端点:

curl "https://api.cloudflare.com/client/v4/radar/http/summary/device_type?dateRange=7d&format=json" \
--header "Authorization: Bearer <API_TOKEN>"

成功的响应将类似于以下内容:

{
	"success": true,
	"errors": [],
	"result": {
		"summary_0": {
			"desktop": "58.223483",
			"mobile": "41.725833",
			"other": "0.050684"
		},
		"meta": {
			"dateRange": {
				"startTime": "2022-10-26T14:00:00Z",
				"endTime": "2022-11-02T14:00:00Z"
			},
			"normalization": "PERCENTAGE",
			...
		}
	}
}

此响应表示有 41% 的请求被归类为来自移动设备,而 58% 是桌面端流量。

前面的示例返回了来自机器人和人类的所有流量。然而,您可以通过添加 botClass=LIKELY_HUMAN 仅访问被归类为来自人类的流量(Cloudflare Radar 中的默认设置)。您还可以通过 botClass=LIKELY_AUTOMATED 仅访问来自机器人的流量(有关更多信息,请参考机器人分类)。例如:

curl "https://api.cloudflare.com/client/v4/radar/http/summary/device_type?dateRange=7d&botClass=LIKELY_AUTOMATED&format=json" \
--header "Authorization: Bearer <API_TOKEN>"

运行上述命令,您能发现两者在移动端和桌面端流量分布上有什么不同吗?

使用 Python

Python 已经成为数据分析的标准语言之一。这里有一个关于如何使用 RequestsPandas 库对相同数据进行图表绘制的快速示例。在这里,我们在参数中使用 format=csv 以方便 Pandas 导入。

import io
import requests
import pandas as pd

cf_api_url = "https://api.cloudflare.com/client/v4"
params = "dateRange=7d&format=csv"
my_token = "xxx" # TODO replace
r = requests.get(f"{cf_api_url}/radar/http/summary/device_type?{params}",
                 headers={"Authorization": f"Bearer {my_token}"})
df = pd.read_csv(io.StringIO(r.text))
df.plot(kind="bar", stacked=True)

Notebooks

notebook 是一个基于 Web 的交互式计算应用程序,可以在一个单独的文档中结合文本、代码和代码输出(如数据图表)。参考 Radar 相关的 colaboratory notebook 获取更多关于如何在您自己的项目中使用 API 的示例。

后续步骤

参考进行比较来了解如何比较数据。

这篇文档对您有帮助吗?