Online Tool Store Online Tool Store

Generatore di richieste gRPC

Incolla un file .proto, scegli servizio e metodo e ottieni un comando grpcurl corretto, con supporto per TLS, timeout e PowerShell su Windows.

🔒 Questo strumento funziona interamente nel tuo browser. I tuoi file non vengono mai caricati su un server.

Strumento browser

gRPC Request Builder

Limitazione del browser: i browser non possono aprire connessioni gRPC grezze (basate su trailer HTTP/2), quindi questo strumento non può chiamare direttamente il tuo server. Al suo posto costruisce un comando grpcurl corretto e pronto all'uso a partire dal tuo endpoint, proto e richiesta - copialo in un terminale per inviare davvero la chiamata.

Tipo di RPC

Metadata (header)

Opzioni avanzate (certificati TLS, timeout, dimensione messaggio, formato di output)

Come funziona

  1. Incolla il tuo file .proto: lo strumento lo analizza localmente per trovare servizi, metodi e se ciascuno è unario o in streaming.
  2. Scegli un servizio e un metodo dai menu a tendina, oppure digita manualmente un simbolo completamente qualificato se l'analisi non ne trova nessuno.
  3. Compila il messaggio della richiesta in JSON e aggiungi eventuali header di metadata (ad esempio un token di autenticazione).
  4. Scegli la sicurezza della connessione - plaintext, TLS senza verifica del certificato, o TLS verificato - e seleziona una fonte dello schema: il tuo file .proto locale (senza bisogno di reflection) o la reflection del server.
  5. Apri "Opzioni avanzate" se ti servono certificati mutual TLS, un timeout di connessione/tempo massimo, una dimensione massima del messaggio, o l'output in formato testo protobuf invece che JSON.
  6. Scegli la shell in cui eseguirai il comando - macOS/Linux, PowerShell o cmd.exe - così le virgolette corrispondono esattamente a quella shell.
  7. Copia o scarica il comando (o script) grpcurl generato ed eseguilo in un terminale per inviare davvero la richiesta.

FAQ

A cosa serve questo strumento?

Analizza un file .proto per trovare i tuoi servizi e metodi, ti permette di costruire il messaggio della richiesta, i metadata, le impostazioni TLS e di timeout, e genera un comando grpcurl corretto e con package qualificato che puoi eseguire per effettuare davvero la chiamata.

Perché non può chiamare direttamente il mio server gRPC?

I browser non possono aprire una connessione gRPC grezza - gRPC si basa su trailer e framing HTTP/2 che solo un client nativo (o un proxy gRPC-Web) può gestire. Generare il comando grpcurl esatto è il modo onesto e corretto per darti una chiamata funzionante da uno strumento del browser.

Invia il mio proto o i miei dati da qualche parte?

No. L'analisi, la costruzione della richiesta e la generazione del comando avvengono tutte localmente nel tuo browser - nulla viene caricato.

Cosa succede se il mio proto non può essere analizzato?

Il parser gestisce un singolo file .proto autonomo (senza import tra file). Se non trova definizioni di servizio, lo strumento passa a una modalità manuale in cui digiti tu stesso il simbolo Service/Method completamente qualificato.

Cos'è grpcurl, e devo installarlo separatamente?

grpcurl è un vero strumento a riga di comando - come curl, ma per gRPC. Questa pagina genera solo il comando; devi comunque avere grpcurl installato (ad esempio tramite brew o go install) per eseguirlo davvero contro il tuo server.

Devo avere la reflection del server abilitata sul mio server gRPC per usarlo?

No, non per impostazione predefinita. Con "File .proto locale" selezionato come fonte dello schema, il comando generato passa il tuo proto a grpcurl tramite -proto e -import-path, quindi non dipende mai dalla reflection del server. Se il tuo server espone la reflection e preferisci saltare il passaggio del file, cambia la fonte dello schema in "Reflection del server" e il comando userà -use-reflection.

Supporta il mutual TLS (certificati client)?

Sì. Apri "Opzioni avanzate" per impostare un certificato CA, un certificato client e il percorso del file della chiave client - lo strumento aggiunge -cacert, -cert o -key solo quando applicabili alla sicurezza di connessione scelta (ad esempio, -cacert viene omesso per le connessioni -insecure, poiché grpcurl lo ignora in quel caso).

Posso impostare un timeout o un tempo massimo per la connessione?

Sì - "Opzioni avanzate" ha campi per il timeout di connessione (-connect-timeout) e il tempo massimo totale della chiamata (-max-time), oltre a una dimensione massima del messaggio di risposta (-max-msg-sz), tutti opzionali.

Il comando generato funziona su Windows?

Sì. Usa il selettore "Sintassi del comando per" per passare tra le virgolette della shell macOS/Linux, PowerShell e cmd.exe - ognuno usa le regole di escaping reali di quella shell, e lo script scaricabile corrisponde (.sh, .ps1 o .bat).

Come ci confrontiamo

FunzionalitàOnline Tool StoreEaseCloud gRPC ClientNewtum API Navigator gRPC Client
Genera un simbolo grpcurl corretto e con package qualificato (package.Service/Method) No - omette il prefisso del packageN/D - invia in diretta invece
Analizza un .proto incollato per elencare automaticamente servizi e metodi Solo inserimento manualeRichiede la reflection del server
Rileva il tipo di RPC unario o in streaming dal proto NoMostrato dopo la connessione
Costruttore di header di metadata con escaping sicuro per la shell No
Il comando salta davvero la reflection con un proto locale (aggiunge -proto/-import-path, non solo lo dichiara) No - non genera il flag -proto, quindi ricade silenziosamente sulla reflectionN/D - sempre in diretta
Supporto mutual TLS (-cacert / -cert / -key) NoNo
Flag per timeout di connessione, tempo massimo e dimensione massima del messaggio NoN/D - configurato invece sulla connessione live
Virgolette corrette del comando per bash/zsh, PowerShell e cmd.exe No - un solo stile di shellN/D - nessun output di comando
Nessuna registrazione, nessuna chiamata di rete live richiesta No - richiede un server raggiungibile

Poiché un browser non può parlare gRPC grezzo, l'output onesto e utile è un comando corretto - e ottenere il simbolo con package qualificato, il flag -proto senza reflection e le regole di quoting proprie della shell è esattamente dove un'implementazione ingenua fallisce.

Esplora strumenti correlati

Incorpora questo strumento

Incolla questo nel tuo sito: resta gratuito e ogni file rimane nel browser del visitatore, non da te né da noi.