SuperAPI AI 工具集

rust-http-client

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:该技能把出站 HTTP 视为资源与信任边界,适用于 HTTP/1.1、HTTP/2 及可选 HTTP/3 支持,以及请求构造、连接池、DNS、代理、TLS、重定向、重试、流式传输和客户端测试。入站路由与处理器属于 rust-web,SSRF 与凭证策略属于 rust-web-security,任务生命周期与批量并发属于 rust-concurrency,遥测属于 rust-observability,原始 TCP/UDP 与协议实现属于网络协议技能。

主要能力:复用单个已配置客户端以保留连接池,普通应用 HTTP 用 reqwest::Client,确需底层连接、请求体或协议控制时用 Hyper;为各阶段设置边界(连接超时、总超时、重定向次数);限制并发在途请求;流式上传下载而非缓冲不可信内容;同时约束声明的与实际解码后的请求体大小;限制分页、重定向、解压、重试与错误体捕获;通过丢弃或 select 请求 future 保留取消能力。

必要用法:先用 builder 构建并复用客户端,例如 reqwest::Client::builder().connect_timeout(Duration::from_secs(3)).timeout(Duration::from_secs(15)).redirect(reqwest::redirect::Policy::limited(3)).build()?;不要每请求构造客户端。仅在操作幂等或带幂等键时重试传输失败或特定状态码,采用有界次数、带抖动的指数退避、总截止时间,并尊重有效的 Retry-After;不要重试认证失败或盲目重试所有 5xx。用 url 解析目标,禁止拼接不可信 URL;限制 scheme、主机、端口、重定向目标、DNS 结果及私有/链路本地地址;按来源范围限定凭证并在跨源重定向时剥离敏感头;保持 TLS 校验开启。

测试:单元测试请求构造、URL 编码、认证选择、重试决策与响应映射;用 mock server 测试状态、头、延迟、重定向、截断体与畸形载荷;用真实本地服务器测试套接字、流式、取消、连接池、代理与 TLS;仅在授权且稳定时保留外部沙箱或提供方契约测试。

限制:该技能不收集、存储或传输用户数据;测试时未经明确授权不要发送真实凭证、客户载荷或私有端点。价格、平台等信息暂未提供。