生态Web 与网络

言访:HTTP 客户端

使用言访 1.0 构造有界 HTTP/HTTPS 请求、发送 JSON/言据、重试并注入测试传输。

言访(yanxu-request)1.0.0 是现代 HTTP 客户端与请求构建库。它提供真实 HTTP/HTTPS 传输,也允许用 Mock、自定义、录制和严格回放传输替换网络;非 2xx 响应仍是正常响应, 只有显式调用确保成功才会转成状态错误。

安装

最低言序为 1.1.11:

yanbao add request --version '^1.0'
yanbao install

等价的格式 2 清单会固定稳定标签:

[依赖]
request = { 包 = "言访", git = "https://github.com/yanxulang/yanxu-request.git", 修订 = "v1.0.0", 版 = "^1.0" }

可复用客户端

「包:request」 言访;

 API  言访.客户端()
    .基础地址「https://api.example.com/v1/」
    .默认首部({「accept」「application/json」})
    .总超时8000
    .最大响应字节2097152
    .重试状态(【429502503504】);

 响应  API.「users/42」
    .请求编号「get-user-42」
    .发送()
    .确保成功();

 用户: 响应.解析JSON();

支持 GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS 和自定义方法。查询值列会编码为 重复键;正文支持文字、字节、JSON、规范言据、表单、Multipart 和文件。

言据与认证

 资料  API.发文「profiles」
    .Bearer认证(令牌)
    .言据正文({「姓名」「子衿」「等级」1})
    .发送()
    .确保成功()
    .解析言据();

言据正文使用版本化媒体类型和 UTF-8;普通 JSON 不会被误识别为言据。Basic 用户名、 Bearer、Cookie 和首部都拒绝控制字符。受控重定向跨协议、主机或有效端口时自动移除 authorizationcookieproxy-authorization

重试、中间件和传输

  • 默认只重试幂等方法,并复用言韧的退避、抖动和最大尝试策略。
  • 识别 408、425、429、500、502、503、504 和可重试网络错误,尊重Retry-After
  • 请求前、请求后、错误、重试前和重定向前钩子具有稳定顺序并可移除。
  • 言录集成默认脱敏认证、Cookie、令牌和 API 密钥类首部。
  • Mock 适合单元测试;录制文档可能含原始正文和首部,不应提交生产流量。

无端口调用言枢:

「包:web/言访测试」 言访测试;

 客户端  言访测试.客户端(应用);
 响应  客户端.发文「/profiles」
    .言据正文({「姓名」「子衿」})
    .发送()
    .确保成功();

权限与限制

库清单不申请网络或文件权限。最终应用必须授权真实目标主机;上传和下载路径另需文件 权限。Mock、录制解析和回放不需要网络。

  • 标准传输固定最多自动跟随 5 次重定向,不支持关闭、定制次数、逐跳历史或重复响应首部。
  • 连接、读取和写入细分超时只可在声明对应能力的自定义传输上设置。
  • 网络响应先在最大响应字节内完整缓冲;分块消费下载到不是套接字级流式下载。
  • 不实现缓存、Cookie 罐、代理配置、客户端证书、HTTP/2/3 或 WebSocket。

错误使用YANFANG_*或标准网络NET_*代码;程序应读取言访.错误详情,不要匹配消息。 仓库与完整 API:yanxulang/yanxu-request1.0.0 Release