一个用于处理 HTTP 归档的 PHP 库

0.4.0 2022-12-10 15:35 UTC

README

CircleCI Packagist

要求

  • PHP 8.0+
  • 需要 ext-json 扩展。

安装

composer require deviantintegral/har,或下载 CLI 工具

简介

此库支持读取和写入 HTTP 归档 文件。这些归档是包含一个或多个 HTTP 请求和响应对的 JSON 对象。特别是,此库在将浏览器开发者工具或类似 mitmproxy 的代理导出的 HTTP 请求用作测试模拟时非常有用。

功能包括

  • 将 HAR 读取到完全类型化的类集合中。
  • \Deviantintegral\Har\Har 写回 HAR JSON 字符串。
  • PSR-7 请求和响应接口的适配器。
  • 一个接口和 \Deviantintegral\Har\HarRepository 类,用于从文件系统或其他后端加载 HAR。
  • CLI 工具,用于将 HAR 文件分割成每个请求/响应对的单个文件。

示例

查看 ReadmeTest.php 以了解如何使用此库的示例。

可选值

HAR 规范文档将某些字段指定为 -1,如果它们没有值。其他字段,如 comment,可能被省略。

可能被省略的字段将有一个 has 方法,应在调用 get 之前调用。对于整数字段,必须检查返回值是否为 -1

序列化和反序列化数据的忠实度

此库旨在保留加载对象的实际 JSON 表示。然而,在某些情况下,这是不可能的。特别是,PHP 仅支持 ISO 8601 时间戳的最高 6 位数字,因此任何额外的精度都会丢失。请参阅 HarTest 以查看检查读取和写入 HAR 的示例。