HarGeneratorPlugin

Genera file di archivio HTTP (HAR) dalle richieste e dalle risposte intercettate.

Esempio di configurazione

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "HarGeneratorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "harGeneratorPlugin"
    }
  ],
  "harGeneratorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/hargeneratorplugin.schema.json",
    "includeSensitiveInformation": false,
    "includeResponse": true
  }
}

Proprietà di configurazione

Proprietà Description Impostazione predefinita
includeSensitiveInformation Determina se includere informazioni riservate (intestazioni di autorizzazione, cookie e così via) nel file HAR generato. Se impostato su false, i valori delle intestazioni sensibili, dei cookie e dei parametri di query sensibili vengono elaborati con il valore REDACTED false
includeResponse Determina se includere il contenuto del corpo della risposta nel file HAR generato false

Opzioni della riga di comando

None

Osservazioni:

Il formato HAR (archivio HTTP) è un formato basato su JSON per la registrazione delle transazioni HTTP. Vari strumenti lo supportano ampiamente e lo usano per:

  • Analizzare il traffico di rete e le prestazioni
  • Eseguire il debug delle interazioni con l'API
  • Condividere i dati della sessione HTTP
  • Importare negli strumenti di sviluppo del browser e in altri strumenti di analisi

Quando includeSensitiveInformation è impostato su false, il plug-in redie automaticamente le intestazioni sensibili seguenti:

  • authorization
  • cookie
  • from
  • proxy-authenticate
  • proxy-authorization
  • set-cookie
  • www-authenticate
  • x-api-key
  • x-auth-token
  • x-csrf-token
  • x-forwarded-for
  • x-real-ip
  • x-session-token
  • x-xsrf-token

Il plug-in sostituisce anche i valori di tutti i cookie di richiesta e risposta (request.cookies e response.cookies) con REDACTED, mantenendo i nomi dei cookie.

Inoltre, il plug-in scrive i valori dei parametri di query sensibili seguenti (senza distinzione tra maiuscole e minuscole) sia nell'URL della richiesta (request.url) che nella stringa di query (request.queryString). Altri parametri di query mantengono i valori originali.

  • access_token
  • api_key
  • api-key
  • apikey
  • auth
  • client_secret
  • code
  • id_token
  • key
  • password
  • refresh_token
  • secret
  • sig
  • signature
  • token
  • x-amz-credential
  • x-amz-security-token
  • x-amz-signature
  • x-goog-credential
  • x-goog-signature

Ad esempio, l'URL https://api.contoso.com/users?access_token=abc123&page=2 della richiesta viene registrato come https://api.contoso.com/users?access_token=REDACTED&page=2.

Il file HAR generato include:

  • Dettagli della richiesta HTTP (metodo, URL, intestazioni, parametri di query, cookie)
  • Dettagli della risposta HTTP (stato, intestazioni, cookie)
  • Dati relativi al corpo della richiesta e della risposta (se applicabile)
  • Tipi di contenuto e dimensioni
  • Informazioni sulla versione HTTP

Il plug-in crea un file HAR denominato devproxy-{timestamp}.har nella directory corrente dopo l'arresto della registrazione.

Vedere anche