Samenstellen en opnieuw versturen (Composer)
Vastleggen gaat niet alleen over “kijken”. De verzoeksamensteller (Composer) van Trace Eagle brengt “het echte vastgelegde verzoek” en “handmatig opbouwen en debuggen” op één plek samen: elk vastgelegd verzoek kan ongewijzigd opnieuw worden verstuurd, of opnieuw worden verstuurd na het aanpassen van parameters; je kunt ook een verzoek helemaal vanaf nul bouwen en versturen. Niet langer heen en weer schakelen tussen een capture-tool en een aparte API-debugtool.
1. Twee toegangspunten
Section titled “1. Twee toegangspunten”- Opnieuw versturen / bewerken en opnieuw versturen: klik met rechts in de verzoekenlijst, of klik op “Bewerken en opnieuw versturen” in het detailpaneel, om dit vastgelegde verzoek ongewijzigd in de samensteller te laden. Het adres wordt hersteld uit het protocol / de host / de poort ten tijde van de capture, irrelevante verbindingsheaders worden verwijderd, en de body en het bijbehorende type worden automatisch uit de inhoud herkend. Pas een paar parameters aan en verstuur opnieuw.
- Helemaal vanaf nul bouwen: stel met de hand een nieuw verzoek samen, rechtstreeks in de samensteller.
Beide toegangspunten gebruiken hetzelfde verzendkanaal, en resultaten worden vastgelegd in een apart Composer-sessietabblad (met behoud van de volledige geschiedenis), waar ze, net als een vastgelegd verzoek, kunnen worden bekeken, opnieuw bewerkt en vergeleken.
2. Handmatig een verzoek opbouwen
Section titled “2. Handmatig een verzoek opbouwen”- Verzoekregel: methode (GET / POST / PUT / DELETE / PATCH / HEAD / OPTIONS) + URL.
- Parametertabel: querystring-parameters worden rij voor rij beheerd in een tabel, gescheiden van de URL en pas samengevoegd bij het versturen, wat betekent dat de dynamische placeholders erin niet worden verstoord door vroegtijdige encodering.
- Headertabel: voeg elke headerregel toe, verwijder of bewerk die.
- Auth-hulpje: Geen / Bearer Token / Basic (gebruikersnaam + wachtwoord, automatisch base64); werkt alleen als je zelf nog geen Authorization-header hebt geschreven.
- Body: geen / JSON / formulier (form-urlencoded) / platte tekst; het kiezen van JSON of formulier voegt automatisch de bijpassende Content-Type toe.
3. Dynamische waarden: ondertekende / versleutelde private API’s afhandelen
Section titled “3. Dynamische waarden: ondertekende / versleutelde private API’s afhandelen”Elk veld kan ${...} dynamische waarden bevatten, die door de engine worden geëvalueerd vlak voor het versturen. Dit is onmisbaar bij het debuggen van private API’s die een handtekening / tijdstempel / nonce meesturen:
| Dynamische waarde | Doel |
|---|---|
${uuid} / ${randomUUID} |
Willekeurige UUID |
${timestamp} |
Unix-tijdstempel in seconden |
${timestampMs} / ${now} |
Unix-tijdstempel in milliseconden |
${random} |
16-cijferige willekeurige hex |
${randomInt:min,max} |
Willekeurig geheel getal binnen een bereik |
${base64:} / ${base64url:} / ${base64decode:} |
Base64 coderen / decoderen |
${md5:} / ${sha1:} / ${sha256:} |
Hash |
${hmacSha256:key,msg} / ${hmacSha256Base64:key,msg} / ${hmacSha1:key,msg} |
HMAC-handtekening |
${urlEncode:} / ${upper:} / ${lower:} |
URL-encoderen / hoofdletters-kleine letters omzetten |
- Nesten wordt ondersteund: bijvoorbeeld
${hmacSha256:${secret},${body}}, waarbij eerst de variabele wordt opgelost en daarna de handtekening wordt berekend. - Alles wat niet kan worden opgelost blijft ongewijzigd staan, zodat je in één oogopslag ziet welke variabele niet werd geëvalueerd, terwijl gewone tools vaak een fout geven of een lege waarde versturen zodra ze een onbekende variabele tegenkomen.

4. Omgevingen en collecties
Section titled “4. Omgevingen en collecties”- Omgevingsvariabelen: haal
${naam}eruit als omgevingsvariabelen, en schakel met één klik tussen meerdere omgevingen (zoals “dev / test / prod”); variabelen kunnen naar elkaar verwijzen en zich in een keten uitbreiden. - Collecties: groepeer veelgebruikte verzoeken in benoemde mappen, sla het huidige verzoek op ieder moment op en laad het terug voor hergebruik wanneer je maar wilt.
- Automatisch opslaan van de werkruimte: collecties + omgevingen worden automatisch opgeslagen als een platte-tekst, versiebeheer-vriendelijk bestand dat kan worden gediffed en beoordeeld, wat het delen binnen een team en het naspeuren van de geschiedenis vergemakkelijkt.
5. Import en codegeneratie
Section titled “5. Import en codegeneratie”- cURL-import: plak een cURL-commando om het te ontleden tot een bewerkbaar verzoek (ondersteunt veelvoorkomende parameters zoals
-X / -H / -d / --data-* / -u / -b / -A / -e, inclusief het verwerken van aanhalingstekens, en behandelt het automatisch als POST wanneer er een body is). - Import van collectiebestanden: importeer externe API-collectiebestanden (de ruwe body staat centraal; groepen worden platgeslagen tot één collectie).
- Codegeneratie: exporteer het huidige verzoek met één klik naar een cURL / Python / JavaScript(fetch) / Go / OkHttp-codefragment, handig om scripts te schrijven, in een project te plakken of met een collega te delen.
6. Getrouw versturen: de reproductie dicht bij het echte pad houden
Section titled “6. Getrouw versturen: de reproductie dicht bij het echte pad houden”De waarde van opnieuw versturen zit in “het gereproduceerde verzoek komt overeen met de echte omgeving”. In de instellingen van de samensteller kan het versturen dezelfde netwerkkenmerken aanhouden als de capture-sessie, waardoor de resultaten betrouwbaarder worden:
- Upstream-proxy: verstuur via een upstream-proxy (http / socks5), en leid het opnieuw verstuurde verzoek naar een bedrijfsproxy, jump host of andere secundaire proxy.
- Getrouwheid van verzoekkenmerken (browserprofiel): herstel de netwerkkenmerken van het opnieuw verstuurde verzoek naar die van een standaardclient (zoals een gangbare browser), zodat het gereproduceerde verzoek consistent blijft met het echte pad.
- Eigen DNS: geef aan welke DNS het domein oplost, om vergiftiging te vermijden of een aangewezen route te nemen.
Voordat er wordt verstuurd, worden alle ${...} dynamische waarden eerst lokaal geëvalueerd, zodat je altijd precies kunt zien wat er daadwerkelijk verstuurd gaat worden. Elke verzending loopt via een aparte Composer-sessie, geïsoleerd van de capture-sessie; resultaten tonen inline de statuscode, het protocol en de verstreken tijd, en worden als een Flow in de sessie vastgelegd, zodat ze, net als een vastgelegd verzoek, opnieuw kunnen worden bekeken, opnieuw bewerkt en vergeleken.
7. Combineren met verzoekvergelijking (Diff)
Section titled “7. Combineren met verzoekvergelijking (Diff)”Een samengesteld / opnieuw verstuurd verzoek kan regel voor regel naast elkaar worden vergeleken met een echt vastgelegd verzoek uit de geschiedenis, om snel vast te pinnen “wat er precies verschilt tussen deze keer en de vorige keer voor hetzelfde endpoint”, wat bijzonder efficiënt is bij het opsporen van verschillen in handtekening, parameters en antwoord. Zie Verzoeken vergelijken.
Terug naar Proxy-capture · Gerelateerd: Herschrijfregels en breakpoint-onderschepping · Verzoeken vergelijken