接口参考lexmount:remote
host.fetch
从客户端向本机、内网或公网服务发起 HTTP 请求。
host.fetch 从所选客户端发起 HTTP 请求,可以访问该客户端可达的本机、内网和公网服务。
下文的 host 是已选择的 RemoteHost,获取方式见主机发现。权限与通用错误见模块概览。
host.fetch(input, options?)
功能: 由所选客户端执行 DNS、TCP/TLS 和 HTTP 请求,可访问该客户端可达的本机、内网和公网服务。
interface RemoteHost {
fetch(input: string | URL, options?: RemoteFetchOptions): Promise<Response>;
}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
input | string / URL | 是 | 完整 HTTP(S) URL;不接受 Request 或带用户名、密码的 URL |
options.method | string | 否 | 默认 GET;GET / HEAD 不能带正文,CONNECT / TRACE / TRACK 不可用 |
options.headers | HeadersInit | 否 | Headers、字符串键值对象或头部键值对数组 |
options.body | string / Uint8Array / ArrayBuffer / null | 否 | 完整缓冲后上传;不支持 FormData 或上传流 |
options.signal | AbortSignal | 否 | 取消上传、等待响应或读取正文 |
options.redirect | RequestRedirect | 否 | follow(默认,最多 20 跳)、manual 或 error |
返回值: Promise<Response>,属性和正文读取方法见 Response。响应正文按需流式读取,HTTP 4xx / 5xx 正常返回,网络失败会拒绝。正文应读完或取消。
只有表中的请求选项受支持,其他字段报 TypeError。没有独立 fetch 权限开关。跨源重定向移除 Authorization、Cookie 等敏感头;不自动维护 Cookie Jar、缓存或业务重试。Host、Content-Length 等传输头不能由代码覆盖。
主动取消按 signal.reason 拒绝,并关闭远端响应资源;取消不能撤回已经送达目标服务的操作。
类型声明见 remote.d.ts。
