Generator de cereri gRPC
Lipește un fișier .proto, alege serviciul și metoda și obții o comandă grpcurl corectă, calificată cu pachetul, cu suport pentru TLS, timeout și PowerShell.
🔒 Acest instrument rulează în întregime în browserul tău. Fișierele tale nu sunt niciodată încărcate pe un server.
Instrument în browser
Generator de cereri gRPC
Limitare a browserului: browserele nu pot deschide o conexiune gRPC brută (bazată pe trailere HTTP/2), deci acest instrument nu poate apela direct serverul tău. În schimb, construiește o comandă grpcurl corectă, gata de rulat, pe baza adresei, fișierului proto și cererii tale - copiaz-o într-un terminal pentru a trimite efectiv apelul.
—
Metadate (anteturi)
Opțiuni avansate (certificate TLS, timeout-uri, dimensiunea mesajului, format de ieșire)
Cum funcționează
- Lipește fișierul tău .proto - instrumentul îl analizează local pentru a găsi serviciile, metodele și pentru a stabili dacă fiecare este unary sau streaming.
- Alege un serviciu și o metodă din listele derulante sau introdu manual un simbol complet calificat dacă analiza nu găsește niciunul.
- Completează mesajul cererii ca JSON și adaugă eventualele anteturi de metadate (de exemplu, un token de autentificare).
- Alege securitatea conexiunii - plaintext, TLS cu verificare omisă sau TLS verificat - și alege o sursă de schemă: fișierul tău .proto local (fără a fi nevoie de reflection) sau reflection de server.
- Deschide "Opțiuni avansate" dacă ai nevoie de certificate mutual TLS, un termen limită de conectare/timp maxim, o dimensiune maximă a mesajului sau ieșire în format text protobuf în loc de JSON.
- Alege shell-ul în care vei rula comanda - macOS/Linux, PowerShell sau cmd.exe - astfel încât ghilimelele să corespundă exact acelui shell.
- Copiază sau descarcă comanda grpcurl generată (sau scriptul) și rulează-o într-un terminal pentru a trimite efectiv cererea.
FAQ
Cu ce te ajută acest instrument?
Analizează un fișier .proto pentru a găsi serviciile și metodele tale, îți permite să construiești mesajul cererii, metadatele, setările TLS și de timeout, și generează o comandă grpcurl corectă, calificată cu pachetul, pe care o poți rula pentru a efectua efectiv apelul.
De ce nu poate apela direct serverul meu gRPC?
Browserele nu pot deschide o conexiune gRPC brută - gRPC se bazează pe trailere și framing HTTP/2 pe care doar un client nativ (sau un proxy gRPC-Web) le poate vorbi. Generarea comenzii grpcurl exacte este modul corect și onest de a-ți oferi un apel funcțional dintr-un instrument din browser.
Trimite fișierul proto sau datele mele undeva?
Nu. Analiza, construirea cererii și generarea comenzii rulează în întregime local, în browserul tău - nimic nu este încărcat.
Ce se întâmplă dacă fișierul meu proto nu poate fi analizat?
Analizorul gestionează un singur fișier .proto autonom (fără importuri între fișiere). Dacă nu găsește nicio definiție de serviciu, instrumentul comută pe un mod manual în care introduci tu însuți simbolul Service/Method complet calificat.
Ce este grpcurl și trebuie să îl instalez separat?
grpcurl este un instrument real de linie de comandă - asemănător cu curl, dar pentru gRPC. Această pagină doar generează comanda; tot trebuie să ai grpcurl instalat (de exemplu, prin brew sau go install) pentru a-l rula efectiv pe serverul tău.
Am nevoie de reflection activat pe serverul meu gRPC pentru a folosi acest instrument?
Nu, în mod implicit. Cu "Fișier .proto local" selectat ca sursă de schemă, comanda generată transmite fișierul tău proto către grpcurl prin -proto și -import-path, deci nu depinde niciodată de reflection-ul serverului. Dacă serverul tău expune reflection și preferi să sari peste pasul cu fișierul, comută sursa de schemă pe "Reflection de server", iar comanda va folosi în schimb -use-reflection.
Suportă mutual TLS (certificate de client)?
Da. Deschide "Opțiuni avansate" pentru a seta un certificat CA, un certificat de client și calea către fișierul cheii de client - instrumentul adaugă -cacert, -cert sau -key doar atunci când se aplică la securitatea conexiunii alese (de exemplu, -cacert este omis pentru conexiunile -insecure, deoarece grpcurl îl ignoră oricum acolo).
Pot seta un timeout sau un termen limită de conectare?
Da - "Opțiuni avansate" are câmpuri pentru timeout de conectare (-connect-timeout) și timpul total maxim al apelului (-max-time), plus o dimensiune maximă a mesajului de răspuns (-max-msg-sz), toate opționale.
Comanda generată funcționează pe Windows?
Da. Folosește selectorul "Sintaxa comenzii pentru" pentru a comuta între ghilimelele shell-ului macOS/Linux, PowerShell și cmd.exe - fiecare folosește regulile reale de escapare ale shell-ului respectiv, iar scriptul descărcabil se potrivește (.sh, .ps1 sau .bat).
Cum ne comparăm
| Funcție | Online Tool Store | EaseCloud gRPC Client | Newtum API Navigator gRPC Client |
|---|---|---|---|
| Generează un simbol grpcurl corect, calificat cu pachetul (package.Service/Method) | Da | Nu - omite prefixul pachetului | N/A - trimite live în schimb |
| Analizează un fișier .proto lipit pentru a lista automat serviciile și metodele | Da | Doar introducere manuală | Necesită reflection de server |
| Detectează tipul RPC unary sau streaming din proto | Da | Nu | Afișat după conectare |
| Constructor de anteturi de metadate cu escapare sigură pentru shell | Da | Nu | Da |
| Comanda evită efectiv reflection-ul când folosește un proto local (adaugă -proto/-import-path, nu doar o afirmație) | Da | Nu - nu generează flag-ul -proto, deci revine silențios la reflection | N/A - întotdeauna live |
| Suport mutual TLS (-cacert / -cert / -key) | Da | Nu | Nu |
| Flag-uri pentru timeout de conectare, timp maxim și dimensiune maximă a mesajului | Da | Nu | N/A - configurat în schimb pe conexiunea live |
| Ghilimele corecte pentru comenzi în bash/zsh, PowerShell și cmd.exe | Da | Nu - doar un singur stil de shell | N/A - fără ieșire de comandă |
| Fără înregistrare, fără apel de rețea live necesar | Da | Da | Nu - necesită un server accesibil |
Deoarece un browser nu poate vorbi gRPC brut, rezultatul onest și util este o comandă corectă - iar obținerea simbolului calificat cu pachetul, a flag-ului -proto fără reflection și a regulilor proprii de ghilimele ale shell-ului este exact locul unde o implementare naivă cedează.