Konstruktorius
Visi laukai neprivalomi. Užklausos metodas nesvarbus, o turinys ignoruojamas — visi parametrai keliauja užklausos eilutėje.
Tiesioginė URL peržiūra
Perstatoma jums redaguojant. Tai tikslus URL, kurį kviečiate.
https://arttron.dev/api/fail?status=500&rate=1Atsakymas
Užpildykite konstruktorių ir nusiųskite užklausą, kad pamatytumėte būseną, antraštes, turinį ir praėjusį laiką.
Vieno paspaudimo pavyzdžiai
Iškvieskite iš savo kodo
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);
}Kas yra HTTP klaidų simuliatorius?
HTTP klaidų simuliatorius atsako į užklausą tyčia klaidingu atsakymu, kad galėtumėte treniruoti kliento gedimų kelią. Užuot atjungę paslaugą ar laukę tikro gedimo, paprašote konkretaus statuso — pavyzdžiui, 503 ar 429 — ir įrankis jį grąžina. Nukreipkite kodą į simuliatoriaus URL ir stebėkite, kaip jis elgiasi. Šis puslapis yra galinio taško /api/fail naršyklės sąsaja: tas pats variklis, varantis MCP įrankį simulate_http_error.
Tikri gedimai retai būna vienas atskiras 500. Nestabilus API nepavyksta tik dalį laiko, dažnio riba grąžina Retry-After, teikėjas prideda savo klaidos formą (OpenAI, Stripe, AWS XML, Cloudflare), vartai užstringa prieš skirtojo laiko pabaigą, o ryšys gali tiesiog nutrūkti. Simuliatorius atkuria kiekvieną iš jų: klaidų dažnis nuo 0 iki 1, fiksuotas ar atsitiktinis uždelsimas, raktu pagrįsta seka kartojimo testams, Retry-After pakeitimas, teikėjo formos turinys (JSON, text, HTML, XML), nutrauktas ryšys ir pakibęs atsakymas. Sėkla padaro atsitiktinę būseną ir uždelsimą atkuriamus.
Kaip naudotis HTTP klaidų simuliatoriumi
- Nustatykite būseną (arba kableliais atskirtą sąrašą, iš kurio parenkamas atsitiktinis) ir, jei norite protarpinių gedimų, klaidų dažnį, mažesnį už 1.
- Jei reikia, pridėkite uždelsimą, seką su scenarijaus raktu, Retry-After pakeitimą, teikėjo šabloną ir turinio formatą.
- Nukopijuokite tiesioginį URL į curl, fetch ar axios — arba spauskite „Siųsti”, kad iškvies tumėte jį čia pat ir perskaitytumėte būseną, antraštes, turinį ir praėjusį laiką.
- Perjunkite prie vieno iš vieno paspaudimo pavyzdžių (nestabilus API, dažnio riba, kartojimas, lėtas, nutraukimas), kad vienu judesiu gautumėte realistinį gedimą.
Dažnai užduodami klausimai apie HTTP klaidų simuliatorių
Kodėl ryšio nutraukimas nėra tikras atjungimas?
Next.js App Router neteikia neapdorotos lizdo API, todėl tikras socket.destroy nepasiekiamas. Maršrutas nusiunčia atsakymo antraštę ir tada nutraukia turinio srautą, todėl klientas mato tinklo klaidą (terminated / fetch failed), o ne tvarkingą būseną. Atsakymas turi X-Sim-Drop: true, kad emuliacija būtų aiški.
Kaip veikia sekos režimas?
Su seq ir raktu n-toji šio rakto užklausa gauna n-tą sąrašo kodą, tada seka kartojasi. Skaitiklis saugomas kiekvienam raktui vieną valandą ir atnaujinamas kiekvieno paspaudimo metu, todėl kartojimo testas išlaiko tvarką viso paleidimo metu.
Ar įrankis nemokamas ir ar reikia rakto?
Puslapio sąsaja kviečia /api/fail be rakto. Scenarijai gali autentifikuotis API raktu; galiniam taškui taikoma 60 užklausų per minutę vienam IP riba.
