Skip to content

legado.http.request

统一 HTTP 请求接口,支持兼容旧书源的 get/post/request 写法。 >不在建议使用建议改为使用全局函数fetch

CLI 兼容性

CLI 测试模式会启动隐藏的 Tauri 后端,legado.http.request 使用与 GUI 一致的宿主实现。

签名

js
legado.http.request(options) → Promise<string>

options 参数

字段类型必填说明
urlstring请求 URL
methodstringHTTP 方法,默认 'GET'
bodystring请求体
headersobject自定义请求头
timeoutSecsnumber单次请求超时秒数,默认 30

返回值Promise<string>。该接口会优先转发到兼容层的 get/post 语义。

浏览器风格 API

书源加载前会自动注入浏览器风格兼容层,支持:

  • fetch(input, init?)
  • Headers
  • Request
  • Response
  • URLSearchParams
  • FormData

这些对象会作为全局对象直接注入,适合从已有网页脚本迁移请求逻辑;同时也能通过 legado.http.fetchlegado.http.Headerslegado.http.Requestlegado.http.Responselegado.http.URLSearchParamslegado.http.FormData 访问。详见 fetch API

示例

js
var resp = await legado.http.request({
  url: 'https://api.example.com/data',
  method: 'POST',
  body: JSON.stringify({ key: 'value' }),
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer token123'
  }
});
var data = JSON.parse(resp);
js
var resp = await fetch('https://api.example.com/data', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ key: 'value' })
});
var data = await resp.json();

基于 MIT 许可发布