Mock-Antwort
Chute kann Mock-Daten für übereinstimmende HTTP/HTTPS-Anfragen zurückgeben, ohne den echten Server zu erreichen. 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 (unterstützt auch [Mock] als Legacy-Abschnittsnamen).
Mehrere Regeln können auf eine einzelne Anfrage angewendet werden. Die erste Mock-Regel mit übereinstimmendem URL-Muster wird verwendet.
Inline-Mock-Format
Für einfache Mock-Antworten mit Inline-Inhalt:
[Map Local]
^http://example\.com/api/status status=200 body={"ok":true}
^http://example\.com/blocked status=403
^http://ad\.com/.* status=200 body="<html></html>" content-type="text/html"
Die Inline-Mock-Regel besteht aus: regulärem URL-Ausdruck und einem oder mehreren key=value-Antwortparametern.
Inline-Parameter
status: Erforderlich.
status=200
Der zurückzugebende HTTP-Statuscode.
body: Optional.
body={"result":"mocked"}
Der zurückzugebende Antwort-Body. Wenn nicht angegeben, wird ein leerer Body zurückgegeben.
content-type: Optional.
content-type=application/json
Der Content-Type-Header für die Mock-Antwort. Verwenden Sie dies zusammen mit body, um korrekte Antworten bereitzustellen.
headers: Optional.
headers=X-Custom:Value1;X-Another:Value2
Zusätzliche Antwort-Header, getrennt durch ;.
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"
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.
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.