Go 调用示例
Golang 调用 CatFee.IO Rest API 示例
前提条件
您需要一个有效的 API Key 和 API Secret。
请确保您的 Go 环境已经安装了
net/http
和crypto/hmac
等标准库。
示例代码
代码解析
generateTimestamp()
: 使用time.Now().UTC().Format("2006-01-02T15:04:05.000Z")
获取当前 UTC 时间,并格式化为 ISO 8601 时间戳。buildRequestPath()
: 该函数将传入的查询参数(queryParams
)构建成 URL 查询字符串。每个查询参数用&
连接,最后返回完整的请求路径。generateSignature()
: 通过timestamp
、method
和requestPath
拼接生成签名字符串,然后使用 HMAC-SHA256 算法进行签名,并将结果进行 Base64 编码。最终返回签名。createRequest()
: 创建一个 HTTP 请求,使用http.NewRequest()
创建请求对象,并通过req.Header.Add()
添加必要的请求头,包括CF-ACCESS-KEY
、CF-ACCESS-SIGN
和CF-ACCESS-TIMESTAMP
。然后,发送请求并返回响应。main()
: 在main()
函数中,设置请求方法为POST
,并传入需要的查询参数。调用generateTimestamp()
、buildRequestPath()
和generateSignature()
来生成请求头信息。最后,使用createRequest()
发送请求并打印响应内容。
注意事项
API Key 和 Secret: 请确保将
APIKey
和APISecret
替换为您从 CatFee.IO 获取的实际值。查询参数的顺序: 本示例中,我们直接将查询参数拼接到请求路径中,并没有排序查询参数。如果需要对查询参数排序,请使用适当的排序方法。
响应处理: 响应通过
ioutil.ReadAll()
读取并打印。如果响应体为 JSON 格式,您可以使用encoding/json
库来解析 JSON 数据。请求方法: 当前示例支持
POST
、GET
、PUT
和DELETE
方法,您可以根据实际需求修改请求方法。
总结
这个示例展示了如何在 Go 中使用 CatFee.IO Rest API,通过 HMAC-SHA256 签名验证来确保请求的安全性。您可以根据实际需求修改代码,支持不同的 HTTP 方法(GET
、POST
、PUT
、DELETE
),并处理不同的 API 响应。
Last updated
Was this helpful?