context.network
通过飞块请求 HTTPS JSON 数据。
Documentation content is currently available in Simplified Chinese.
getJson() 适合天气、汇率等 JSON 接口。清单中先声明 network.getJson,再用 networkOrigins 列出请求来源,例如 https://api.example.com。
{
"permissions": ["network.getJson"],
"networkOrigins": ["https://api.example.com"]
}这里的配置用于后台请求。超级块页面直接使用 fetch() 时,配置的是 widgetConnectOrigins。
#getJson()
发送 GET 请求,并解析响应 JSON。
context.network.getJson<Result = unknown>(url: string): Promise<Result>#参数
| 名称 | 类型 | 说明 |
|---|---|---|
url |
string |
完整的 HTTPS URL。来源在 networkOrigins 中,目标为公网地址。 |
#返回值
Promise 解析为响应中的 JSON 值。请求最多等待 6500 毫秒,响应最多 128 KiB。接口应直接返回数据;重定向响应会使请求失败。
#示例
const weather = await context.network.getJson(
"https://api.example.com/weather?city=shanghai"
);
return { temperature: weather.temperature };#TUN / Fake-IP 代理兼容
桌面端用户可以在“设置 → 连接服务”中开启“兼容 TUN / Fake-IP 代理”,允许 getJson() 连接指定的代理虚拟 IPv4 网段。该选项默认关闭,预填网段为 198.18.0.0/16。支持一个 /16 至 /32 的 IPv4 CIDR,保存时会规范化网络地址,保存后对后续请求立即生效并保留到下次启动。
这是宿主用户控制的连接例外,插件不能自行开启或修改。开启后仍需声明 network.getJson 和 HTTPS 来源,仍验证 TLS 证书,并限制响应大小、超时及重定向。未授权的其他非公网地址继续被拦截。此选项不会启动或配置代理;代理关闭时应同时关闭此兼容选项。