deviantintegral/har 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

deviantintegral/har

最新稳定版本:v1.2.0

Composer 安装命令:

composer require deviantintegral/har

包简介

A PHP library for working with HTTP Archives

README 文档

README

CI Packagist

Requirements

  • PHP 8.2+
  • The ext-json extension.

Installation

composer require deviantintegral/har, or download the CLI tool.

Introduction

This library supports reading and writing HTTP Archive files. These archives are JSON objects containing one or more HTTP request and response pairs. In particular, this library is useful for taking HTTP requests exported from a browser's developer tools or with a proxy like mitmproxy and using them as mocks in tests.

Features include:

  • Reading a HAR into a fully-typed set of classes.
  • Writing a \Deviantintegral\Har\Har back out into a HAR JSON string.
  • Adapters for PSR-7 Request and Response interfaces.
  • An interface and \Deviantintegral\Har\HarRepository class to load HARs from a filesystem or other backend.
  • A CLI tool to split a HAR file into single files per request / response pair.
  • Redacting sensitive values (headers, cookies, query parameters, and JSON body fields) before sharing a HAR.

Example

See ReadmeTest.php for an example of how to use this library.

Redacting sensitive data

HAR files captured from browsers or proxies often contain credentials, session cookies, or other secrets. Use HarSanitizer to replace those values with [REDACTED] (configurable via setRedactedValue()) before sharing the file. Field matching is case-insensitive by default.

use Deviantintegral\Har\HarSanitizer;

$sanitized = (new HarSanitizer())
    ->redactHeaders(['Authorization', 'Cookie'])
    ->redactCookies(['session'])
    ->redactQueryParams(['api_key'])
    ->redactBodyFields(['password', 'token'])
    ->sanitize($har);

The CLI ships a har:sanitize command that exposes the same options:

bin/console har:sanitize input.har output.har \
    --header=Authorization --header=Cookie \
    --query-param=api_key \
    --body-field=password

Optional values

The HAR specification documents some fields as -1 if they do not have a value. Other fields, like comment, may be omitted.

Fields that may be omitted will have a has method that should be called before calling get. For integer fields, the return value must be checked for -1.

Fidelity of Serialized and Deserialized data

This library aims to preserve the actual JSON representation of loaded objects. However, in some cases, this is not possible. In particular, PHP only supports up to 6 digits in ISO 8601 timestamps, so any additional precision is lost. See HarTest for an example that checks the reading and writing of a HAR.

统计信息

  • 总下载量: 12.74k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 13
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 13
  • Watchers: 1
  • Forks: 8
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2019-08-23

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固