Ví dụ về các trường hợp mở rộng API trên nền tảng hiện tại là PY và GO, trong đó về chữ ký đoạn này, mô tả: đầu tiên MD5 mã hóa sau đó UTF-8 mã hóa, tôi thấy PY là trực tiếp nhập vào thư viện, nhưng JS không có chức năng UTF-8 mã hóa? Vì vậy, chữ ký luôn luôn sai, cũng không biết là mã hóa sai hoặc chính văn bản có vấn đề, lập trình viên nhỏ cầu xin Thượng đế giúp chỉ ra, xin cảm ơn!
method và accessKey đều có giá trị được gán trước đó.
var d = {
version: '1.0',
access_key: accessKey,
method: method,
args: [],
nonce: _N(UnixNano() / 1000000, 0),
}
var m = d.version + "|" + d.method + "|" + d.args + "|" + d.nonce + "|" + secretKey
d.sign = HMAC("md5", "hex", m, "pass")
var h = JSON.parse(HttpQuery("https://www.fmz.cn/api/v1?access_key="+accessKey+"&nonce="+d.nonce+"&args=[]&sign="+d.sign+"&version=1.0&method="+d.method))
写了一个,测试可以访问通了,您参考下:
function main() {
var accessKey = ""
var secretKey = ""
var method = "GetNodeList"
var d = {
version: '1.0',
access_key: accessKey,
method: method,
args: "null",
nonce: (new Date().getTime()).toString()
}
var m = d.version + "|" + d.method + "|" + d.args + "|" + d.nonce + "|" + secretKey
d.sign = Hash("md5", "hex", m)
var ret = HttpQuery("https://www.fmz.com/api/v1?access_key=" + accessKey + "&nonce=" + d.nonce + "&args=null&sign=" + d.sign + "&version=1.0&method=" + d.method)
Log(ret)
}
accessKey , secretKey 填写自己的KEY 就可以了。
- 1
