Mock-Antwort
Chute kann Mock-Daten für übereinstimmende HTTP/HTTPS-Anfragen zurückgeben. Für entschlüsselte HTTP/2-Streams wird die Mock-Antwort lokal beantwortet, ohne die Anfrage weiterzuleiten; bei HTTP/1.1-Anfragen (einfaches Proxying und MitM HTTP/1.1) wird die Anfrage weiterhin an den echten Server gesendet, und die echte Antwort wird durch die Mock-Daten ersetzt, bevor sie den Client erreicht. Dies ist nützlich für Tests, Entwicklung oder das Blockieren unerwünschter Inhalte mit einer benutzerdefinierten Antwort.
Mock-Regeln werden im Abschnitt [Map Local] definiert.
Pro Anfrage wird nur eine Mock-Regel angewendet — die erste Regel, deren URL-Muster übereinstimmt.
Map-Local-Format
Zum Bereitstellen von Mock-Antworten aus lokalen Dateien oder mit base64-kodierten Inhalten:
[Map Local]
^https://example\.com/api.* data="/path/to/mock-response.json"
^https://example\.com/page.* data="/path/to/page.html" header="SGVhZGVyOiBWYWx1ZQ=="
^https://example\.com/pixel.* base64="R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
Hinweis: Der reguläre Ausdruck für die URL muss die vollständige Anfrage-URL abgleichen, nicht nur einen Teilstring davon. Muster sollten in der Regel mit
.*enden, damit URLs mit beliebigem Pfad und Query-String abgeglichen werden.
Map-Local-Parameter
| Parameter | Beschreibung |
|---|---|
data="/path/to/file" |
Dateipfad, der als Antwort-Body bereitgestellt wird. Die Datei wird zum Anfragezeitpunkt gelesen. |
base64="<encoded>" |
Base64-kodierter Antwort-Body-Inhalt. |
header="<base64>" |
Base64-kodierte benutzerdefinierte Antwort-Header (Key:Value\n Format). |
Mindestens einer der Parameter
data=oderbase64=muss angegeben werden.Hinweis: Beim Parsen von
header=werden alle Leerzeichen entfernt und jede Zeile muss genauKey:Valuemit einem einzigen Doppelpunkt sein. Header-Werte, die selbst einen Doppelpunkt enthalten (etwa URLs), werden stillschweigend verworfen, und Leerzeichen innerhalb von Werten gehen verloren.
Vorlagenvariablen
Bei Verwendung von data= oder base64= unterstützt der Antwort-Body die Ersetzung von Vorlagenvariablen:
| Variable | Ersetzt durch |
|---|---|
{{url}} |
Vollständiger URL-Pfad der Anfrage |
{{host}} |
Hostname der Anfrage |
{{path}} |
Relativer URL-Pfad |
{{method}} |
HTTP-Methode |
{{ua}} |
Wert des User-Agent-Headers |
Beispiel einer Mock-Antwortdatei (response.json):
{
"requested_url": "{{ "{{url}}" }}",
"host": "{{ "{{host}}" }}",
"method": "{{ "{{method}}" }}"
}
Hinweis: Für HTTPS-Anfragen muss die MitM-Entschlüsselung für den übereinstimmenden Hostnamen aktiviert sein. Mock-Regeln für HTTPS-Verkehr ohne MitM werden ignoriert.
Diese Seite ist eine Übersetzung der englischen Version. Bei Abweichungen ist die englische Version maßgeblich.