gRPC-verzoekbouwer
Plak een .proto-bestand, kies service en methode, en krijg een correct grpcurl-commando met ondersteuning voor TLS, timeouts en PowerShell op Windows.
🔒 Deze tool werkt volledig in je browser. Je bestanden worden nooit naar een server geüpload.
Browsertool
gRPC Request Builder
Browserbeperking: browsers kunnen geen rauwe gRPC-verbindingen (gebaseerd op HTTP/2-trailers) openen, dus deze tool kan je server niet direct aanroepen. In plaats daarvan bouwt hij een correct, direct bruikbaar grpcurl-commando op basis van je endpoint, proto en verzoek - kopieer het naar een terminal om de aanroep daadwerkelijk te versturen.
—
Metadata (headers)
Geavanceerde opties (TLS-certificaten, timeouts, berichtgrootte, uitvoerformaat)
Hoe het werkt
- Plak je .proto-bestand - de tool parseert het lokaal om services, methoden en of elke methode unary of streaming is te vinden.
- Kies een service en methode uit de dropdowns, of typ handmatig een volledig gekwalificeerd symbool als het parsen er geen vindt.
- Vul het verzoekbericht in als JSON en voeg eventuele metadata-headers toe (bijv. een auth-token).
- Kies de verbindingsbeveiliging - plaintext, TLS zonder certificaatverificatie, of geverifieerde TLS - en kies een schemabron: je lokale .proto-bestand (geen reflection nodig) of server reflection.
- Open "Geavanceerde opties" als je mutual TLS-certificaten, een connect/max-time deadline, een maximale berichtgrootte, of protobuf-tekstoutput in plaats van JSON nodig hebt.
- Kies de shell waarin je het commando uitvoert - macOS/Linux, PowerShell of cmd.exe - zodat de aanhalingstekens precies bij die shell passen.
- Kopieer of download het gegenereerde grpcurl-commando (of script) en voer het uit in een terminal om het verzoek daadwerkelijk te versturen.
FAQ
Waarmee helpt deze tool?
Het parseert een .proto-bestand om je services en methoden te vinden, laat je het verzoekbericht, metadata, TLS- en timeout-instellingen opbouwen, en genereert een correct, package-gekwalificeerd grpcurl-commando dat je kunt uitvoeren om de aanroep daadwerkelijk te doen.
Waarom kan het mijn gRPC-server niet direct aanroepen?
Browsers kunnen geen rauwe gRPC-verbinding openen - gRPC leunt op HTTP/2-trailers en framing die alleen een native client (of een gRPC-Web-proxy) kan spreken. Het exacte grpcurl-commando genereren is de eerlijke, juiste manier om je vanuit een browsertool een werkende aanroep te geven.
Stuurt het mijn proto of gegevens ergens naartoe?
Nee. Parsen, verzoek opbouwen en commando genereren gebeuren allemaal lokaal in je browser - er wordt niets geüpload.
Wat als mijn proto niet geparseerd kan worden?
De parser verwerkt één zelfstandig .proto-bestand (geen imports tussen bestanden). Als er geen servicedefinities worden gevonden, schakelt de tool over naar een handmatige modus waarin je zelf het volledig gekwalificeerde Service/Method-symbool typt.
Wat is grpcurl, en moet ik het apart installeren?
grpcurl is een echte command-line tool - zoals curl, maar voor gRPC. Deze pagina genereert alleen het commando; je moet grpcurl nog steeds geïnstalleerd hebben (bijv. via brew of go install) om het daadwerkelijk tegen je server uit te voeren.
Moet server reflection ingeschakeld zijn op mijn gRPC-server om dit te gebruiken?
Nee, standaard niet. Met "Lokaal .proto-bestand" geselecteerd als schemabron geeft het gegenereerde commando je proto via -proto en -import-path aan grpcurl door, dus het is nooit afhankelijk van server reflection. Als je server wel reflection aanbiedt en je de bestandsstap liever overslaat, schakel de schemabron dan om naar "Server reflection" en gebruikt het commando -use-reflection.
Ondersteunt het mutual TLS (clientcertificaten)?
Ja. Open "Geavanceerde opties" om een CA-certificaat, clientcertificaat en het pad naar het clientsleutelbestand in te stellen - de tool voegt -cacert, -cert of -key alleen toe wanneer ze van toepassing zijn op de gekozen verbindingsbeveiliging (zo wordt -cacert weggelaten bij -insecure-verbindingen, omdat grpcurl het daar negeert).
Kan ik een timeout of verbindingsdeadline instellen?
Ja - "Geavanceerde opties" heeft velden voor connect timeout (-connect-timeout) en maximale totale aanroeptijd (-max-time), plus een maximale grootte voor het responsbericht (-max-msg-sz), allemaal optioneel.
Werkt het gegenereerde commando op Windows?
Ja. Gebruik de selector "Commandosyntax voor" om te schakelen tussen macOS/Linux shell-quoting, PowerShell en cmd.exe-quoting - elk gebruikt de daadwerkelijke escaperegels van die shell, en het downloadbare script komt overeen (.sh, .ps1 of .bat).
Hoe wij ons verhouden
| Functie | Online Tool Store | EaseCloud gRPC Client | Newtum API Navigator gRPC Client |
|---|---|---|---|
| Genereert een correct, package-gekwalificeerd grpcurl-symbool (package.Service/Method) | Ja | Nee - laat het package-prefix weg | N.v.t. - stuurt in plaats daarvan live |
| Parseert een geplakte .proto om automatisch services en methoden te tonen | Ja | Alleen handmatige invoer | Vereist server reflection |
| Detecteert unary vs. streaming RPC-type uit de proto | Ja | Nee | Getoond na verbinden |
| Metadata-headerbouwer met shell-veilige escaping | Ja | Nee | Ja |
| Commando slaat reflection daadwerkelijk over bij een lokale proto (voegt -proto/-import-path toe, niet alleen een bewering) | Ja | Nee - er wordt geen -proto-flag gegenereerd, dus valt stilzwijgend terug op reflection | N.v.t. - altijd live |
| Ondersteuning voor mutual TLS (-cacert / -cert / -key) | Ja | Nee | Nee |
| Flags voor connect timeout, max time en maximale berichtgrootte | Ja | Nee | N.v.t. - in plaats daarvan geconfigureerd op de live verbinding |
| Correcte commandoquoting voor bash/zsh, PowerShell en cmd.exe | Ja | Nee - slechts één shellstijl | N.v.t. - geen commando-output |
| Geen aanmelding, geen live netwerkoproep vereist | Ja | Ja | Nee - vereist een bereikbare server |
Omdat een browser geen rauwe gRPC kan spreken, is een correct commando de eerlijke en nuttige output - en precies daar waar een naïeve implementatie faalt: het package-gekwalificeerde symbool, de reflection-vrije -proto-flag, en de juiste quotingregels van de shell.