一个用于处理 HTTP 归档的 PHP 库
0.4.0
2022-12-10 15:35 UTC
Requires
- php: ^8.0
- ext-json: *
- deviantintegral/jms-serializer-uri-handler: ^1.1
- deviantintegral/null-date-time: ^1.0
- doctrine/annotations: ^1.7
- guzzlehttp/psr7: ^2.0
- jms/serializer: ^3.0
- symfony/console: ^5.0||^6.0
- symfony/polyfill-php80: ^1.20
Requires (Dev)
- friendsofphp/php-cs-fixer: 3.13.0
- guzzlehttp/guzzle: ^7.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-21 07:35:32 UTC
README
要求
- 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 的示例。