回答
在 Hamibot 脚本中,你可以使用内置的 http 模块执行 HTTP 请求。核心方法是 http.request,支持 GET、POST、DELETE 等多种请求方式。
基本用法
使用 http.request(url, options) 发起请求。options 对象中配置请求方法、 headers 和 body。
1. 发送 GET 请求
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.example.com/data', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': '你的令牌(hmp 开头)'
}
});
log(res.statusCode);
log(res.body.string());
2. 发送 POST 请求
发送 JSON 数据时,需要使用 JSON.stringify 处理 body,并设置对应的 Content-Type。
// 文档地址 https://docs.hamibot.com/
var res = http.request('https://api.example.com/create', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': '你的令牌(hmp 开头)'
},
body: JSON.stringify({
name: '测试数据',
value: 123
})
});
if (res.statusCode === 200) {
var data = res.body.json();
log(data);
}
响应处理
http.request 返回的响应对象 res 包含以下常用属性:
statusCode:HTTP 状态码(如 200, 404, 500)。body:响应体对象。res.body.string():获取原始文本内容。res.body.json():将响应内容解析为 JSON 对象。
注意事项
- JavaScript 兼容性:Hamibot 使用的 JavaScript 引擎是 Rhino 1.7.15。编写脚本时请注意:
- 不要使用箭头函数(
=>)。 - 不要定义函数默认参数值。
- 建议使用
var声明变量。
- 不要使用箭头函数(
- 令牌获取:调用 Hamibot API 时需要在 headers 中携带授权令牌。你可以在 https://hamibot.com/account/tokens 获取令牌。
- 超时设置:网络请求可能受网络环境影响,建议在实际生产脚本中添加 try-catch 块捕获异常,防止脚本意外停止。
// 文档地址 https://docs.hamibot.com/
try {
var res = http.request('https://api.example.com', {
method: 'GET'
});
log(res.statusCode);
} catch (e) {
log("请求失败:" + e);
}
ℹ️ 本回答由 AI 生成,内容仅供参考