Forståelse af webhook-anmodningens struktur
En webhook-anmodning er en asynkron HTTP-anmodning, som en ekstern tjeneste sender til din server for at meddele om en hændelse. For at kunne håndtere disse meddelelser korrekt, er det afgørende at forstå den præcise opbygning af anmodningen. En typisk webhook-anmodning består af en HTTP-metode, en række overskrifter (headers) og en brødtekst (body).
Når du udvikler API'er, integrerer systemer eller vedligeholder automatiseringer, støder du ofte på udfordringer med at gennemskue, hvordan dataene reelt leveres. Webhook-anmodningsinspektøren lader dig indsætte den rå metode, overskrifter og brødtekst fra en opsamlet anmodning, så du kan analysere dens struktur og format.
Overskrifternes rolle i webhook-kommunikation
Overskrifter i en webhook-anmodning indeholder vigtige metadata om transmissionen. De fortæller modtageren, hvordan indholdet skal tolkes, og leverer ofte sikkerhedsoplysninger.
Når du indsætter overskrifter i værktøjet, skal de angives med én overskrift pr. linje i formatet "Navn: værdi". Værktøjet understøtter op til 200 ikke-tomme overskriftslinjer og maksimalt 100.000 tegn. Hvis disse grænser overskrides, eller hvis formatet er forkert, vil du støde på specifikke fejlmeddelelser:
- Hvis grænsen for tegn overskrides: "Overskrifterne er for lange til dette værktøj. Fjern ikke-relaterede eller gentagne værdier."
- Hvis der er for mange linjer: "Der er for mange overskriftslinjer. Hold anmodningen til 200 overskrifter eller færre."
- Hvis en linje ikke overholder formatet: "
‹line›: Overskriftslinje er ugyldig. Brug Navn: værdi."
Webhook-brødtekst og formater
Brødteksten i en webhook indeholder de faktiske hændelsesdata. Det er kritisk at inspicere den nøjagtige rå tekst, der er fanget før enhver server-side-parsing, da ændringer i hvidrum eller tegnsætning kan påvirke dataintegriteten. Værktøjet accepterer en brødtekst på op til 1.000.000 tegn. Hvis dette overskrides, vises fejlen: "Kroppen er for lang til dette værktøj. Hold det under 1.000.000 tegn.".
Værktøjet detekterer og formaterer automatisk to udbredte formater:
- JSON: Parsning sker via
JSON.parse. Da JSON-objektet derefter reorganiseres, vil det oprindelige hvidrum og rækkefølgen af felter gå tabt. Hvis teksten ligner JSON, men indeholder syntaksfejl, vises fejlen: "Kroppen ligner JSON, men kunne ikke parses.". - URL-kodet formulardata (URL-encoded): Hvis formulardataene er ufuldstændige eller har forkerte tegnkombinationer, vises fejlen: "Formularens brødtekst indeholder en ufuldstændig procentvis escape.".
Andre formater end JSON og URL-kodet data bevares og vises som rå, almindelig tekst. Hvis der slet ikke indtastes data i værktøjet, vil du se fejlen: "Indsæt mindst én overskrift eller en anmodningstekst først.".
Webhook-signaturer og tidsstempler
Mange webhook-afsendere inkluderer kryptografiske signaturer og tidsstempler i anmodningens overskrifter for at forhindre forfalskning og replay-angreb. Værktøjet scanner de indtastede overskrifter efter kendte navnemønstre som signature, hmac, digest samt gængse tidsstempelnavne.
Fundne felter præsenteres i outputtet under sektionen for signaturfelter. Hvis der ikke identificeres nogen kendte mønstre, viser værktøjet teksten: "Der blev ikke fundet nogen fælles signatur eller webhook-tidsstempeloverskrift.".
Det er vigtigt at skelne mellem at inspicere og at verificere en anmodning. At finde et signaturfelt beviser ikke, at anmodningen er autentisk – rigtig verifikation kræver afsenderens signaturregler, hemmelighed eller nøgle samt de originale anmodningsbytes. Værktøjet foretager ingen HMAC-beregninger, algoritme-analyser, kontrol af replay-vinduer eller udbyderspecifik verifikation.
Lokal testning med cURL
Når du har analyseret og forstået webhook-anmodningens struktur, er næste skridt ofte at teste din lokale applikations modtagelse af dataene. Værktøjet genererer automatisk en færdig, shell-quoted cURL-kommando baseret på dine input.
Denne cURL-kommando er fastlåst til at målrette den lokale adresse http://localhost:3000/webhooks. Ved at kopiere og køre denne kommando i din terminal kan du simulere den nøjagtige webhook-anmodning lokalt på din udviklingsmaskine uden at skulle udløse hændelsen hos den eksterne tjeneste.
Databehandling og privatliv
Når du arbejder med webhook-data, kan anmodningerne indeholde følsomme oplysninger eller systeminterne identifikatorer. Din indsatte anmodning forbliver i din browser. BroBroGo uploader eller gemmer det ikke. Al databehandling og formatering sker lokalt på din egen enhed.
Ofte stillede spørgsmål
Kan denne side modtage et live webhook-tilbagekald?
Nej. Indsæt en hentet anmodning her for inspektion. Siden opretter ikke et offentligt slutpunkt, modtager ikke tilbagekald eller sender den genererede testanmodning.
Hvilke webhook kropsformater kan jeg inspicere?
JSON og URL-kodede formulartekster detekteres og formateres. Andre tekster forbliver som almindelig tekst, så værktøjet ikke gætter på XML, flerdelt eller binært indhold.
Beviser det at finde et signaturfelt, at anmodningen er autentisk?
Nej. Værktøjet viser kun signatur- og relaterede tidsstempeloverskrifter. Ægte verifikation kræver afsenderens nøjagtige signeringsregler, hemmelig eller offentlig nøgle, og de originale anmodningsbytes.