Konstruktor
Alle Felder sind optional. Die Anfragemethode ist irrelevant und der Body wird ignoriert — alle Parameter reisen im Query-String.
Live-URL-Vorschau
Wird beim Bearbeiten neu aufgebaut. Genau diese URL rufen Sie auf.
https://arttron.dev/api/fail?status=500&rate=1Antwort
Füllen Sie den Konstruktor aus und senden Sie eine Anfrage, um Status, Header, Body und verstrichene Zeit zu sehen.
Beispiele mit einem Klick
Aus Ihrem Code aufrufen
curl -i 'https://arttron.dev/api/fail?status=500&rate=1'const res = await fetch('https://arttron.dev/api/fail?status=500&rate=1');
console.log(res.status, await res.text());import axios from 'axios';
try {
const res = await axios.get('https://arttron.dev/api/fail?status=500&rate=1');
console.log(res.status, res.data);
} catch (err) {
console.log(err.response?.status, err.response?.data);
}Was ist ein HTTP-Fehler-Simulator?
Ein HTTP-Fehler-Simulator beantwortet eine Anfrage mit einer absichtlich falschen Antwort, damit Sie den Fehlerpfad eines Clients trainieren können. Statt einen Dienst abzuschalten oder auf einen echten Ausfall zu warten, fordern Sie einen genauen Status an — etwa 503 oder 429 — und das Werkzeug liefert ihn. Richten Sie Ihren Code auf die Simulator-URL und beobachten Sie, wie er sich verhält. Diese Seite ist die Browser-Oberfläche für den Endpunkt /api/fail: dieselbe Engine, die das MCP-Werkzeug simulate_http_error antreibt.
Echte Ausfälle sind selten ein einzelner 500. Eine flaky API scheitert nur manchmal, ein Rate Limit gibt ein Retry-After zurück, ein Anbieter prägt seine eigene Fehlerform (OpenAI, Stripe, AWS XML, Cloudflare), ein Gateway stockt vor dem Timeout und eine Verbindung kann einfach abbrechen. Der Simulator bildet all das ab: eine Fehlerrate von 0 bis 1, eine feste oder zufällige Verzögerung, eine schlüsselgebundene Sequenz für Retry-Tests, ein Retry-After-Override, anbieterförmige Bodies in JSON, Text, HTML oder XML, eine abgebrochene Verbindung und eine hängende Antwort. Ein Seed macht den zufälligen Status und die Verzögerung reproduzierbar.
So verwenden Sie den HTTP-Fehler-Simulator
- Legen Sie den Status fest (oder eine kommagetrennte Liste, aus der zufällig gewählt wird) und, wenn Sie sporadische Fehler wollen, eine Fehlerrate unter 1.
- Fügen Sie nach Bedarf eine Verzögerung, eine Sequenz mit Szenario-Schlüssel, ein Retry-After-Override, ein Anbieter-Preset und ein Body-Format hinzu.
- Kopieren Sie die Live-URL in curl, fetch oder axios — oder drücken Sie „Senden”, um sie direkt hier aufzurufen und Status, Header, Body und verstrichene Zeit zu lesen.
- Wechseln Sie zu einem der Ein-Klick-Beispiele (flaky API, Rate Limit, Retry, langsam, Abbruch), um in einem Zug einen realistischen Fehler zu erzeugen.
Häufige Fragen zum HTTP-Fehler-Simulator
Warum ist ein Verbindungsabbruch kein echtes Trennen?
Der Next.js App Router stellt keine rohe Socket-API bereit, daher ist ein echtes socket.destroy nicht verfügbar. Die Route sendet den Antwortkopf und bricht dann den Body-Stream ab, sodass Clients einen Netzwerkfehler (terminated / fetch failed) statt eines sauberen Status sehen. Die Antwort trägt X-Sim-Drop: true, damit die Emulation explizit ist.
Wie funktioniert der Sequenzmodus?
Mit seq und einem Schlüssel liefert die n-te Anfrage für diesen Schlüssel den n-ten Code der Liste, dann wiederholt sich die Sequenz. Der Zähler lebt pro Schlüssel für eine Stunde und wird bei jedem Treffer erneuert, sodass ein Retry-Test seine Reihenfolge über einen ganzen Lauf behält.
Ist das Werkzeug kostenlos und braucht es einen Schlüssel?
Die Seitenoberfläche ruft /api/fail ohne Schlüssel auf. Skripte können sich mit einem API-Schlüssel authentifizieren; der Endpunkt ist auf 60 Anfragen pro Minute pro IP begrenzt.
