Générateur de requêtes gRPC
Collez un .proto, choisissez le service et la méthode, et obtenez une commande grpcurl correcte avec TLS, délai d'attente et compatibilité Windows/PowerShell.
🔒 Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers ne sont jamais envoyés sur un serveur.
Outil de navigateur
Générateur de requêtes gRPC
Limitation du navigateur : les navigateurs ne peuvent pas ouvrir de connexions gRPC brutes (basées sur les trailers HTTP/2), donc cet outil ne peut pas appeler directement votre serveur. À la place, il construit une commande grpcurl correcte et prête à exécuter à partir de votre endpoint, de votre proto et de votre requête - copiez-la dans un terminal pour envoyer réellement l'appel.
—
Métadonnées (en-têtes)
Options avancées (certificats TLS, délais d'attente, taille de message, format de sortie)
Comment ça marche
- Collez votre fichier .proto - l'outil l'analyse localement pour repérer les services, les méthodes, et si chacune est unaire ou en streaming.
- Choisissez un service et une méthode dans les menus déroulants, ou saisissez manuellement un symbole entièrement qualifié si l'analyse n'en trouve aucun.
- Remplissez le message de la requête en JSON et ajoutez les en-têtes de métadonnées nécessaires (par exemple un jeton d'authentification).
- Choisissez la sécurité de la connexion - texte clair, TLS sans vérification, ou TLS vérifié - et choisissez une source de schéma : votre fichier .proto local (sans besoin de reflection) ou server reflection.
- Ouvrez "Options avancées" si vous avez besoin de certificats TLS mutuels, d'un délai connect/max-time, d'une taille maximale de message, ou d'une sortie en texte protobuf plutôt qu'en JSON.
- Choisissez le shell dans lequel vous exécuterez la commande - macOS/Linux, PowerShell, ou cmd.exe - pour que l'échappement des guillemets corresponde exactement à ce shell.
- Copiez ou téléchargez la commande (ou le script) grpcurl générée et exécutez-la dans un terminal pour envoyer réellement la requête.
FAQ
À quoi sert cet outil ?
Il analyse un fichier .proto pour trouver vos services et méthodes, vous permet de construire le message de la requête, les métadonnées, la configuration TLS et le délai d'attente, et génère une commande grpcurl correcte et qualifiée par paquet que vous pouvez exécuter pour effectuer réellement l'appel.
Pourquoi ne peut-il pas appeler directement mon serveur gRPC ?
Les navigateurs ne peuvent pas ouvrir une connexion gRPC brute - gRPC repose sur des trailers et un framing HTTP/2 que seul un client natif (ou un proxy gRPC-Web) peut gérer. Générer la commande grpcurl exacte est la manière honnête et correcte de vous fournir un appel fonctionnel depuis un outil de navigateur.
Envoie-t-il mon proto ou mes données quelque part ?
Non. L'analyse, la construction de la requête et la génération de la commande s'exécutent toutes localement dans votre navigateur - rien n'est envoyé.
Que se passe-t-il si mon proto ne peut pas être analysé ?
L'analyseur gère un seul fichier .proto autonome (sans imports entre fichiers). S'il ne trouve aucune définition de service, l'outil bascule vers un mode manuel où vous saisissez vous-même le symbole Service/Method entièrement qualifié.
Qu'est-ce que grpcurl, et dois-je l'installer séparément ?
grpcurl est un véritable outil en ligne de commande - comme curl, mais pour gRPC. Cette page ne fait que générer la commande ; vous devez tout de même installer grpcurl (par exemple via brew ou go install) pour l'exécuter réellement contre votre serveur.
Dois-je activer server reflection sur mon serveur gRPC pour utiliser cet outil ?
Non, par défaut. Avec "Local .proto file" sélectionné comme source de schéma, la commande générée transmet votre proto à grpcurl via -proto et -import-path, elle ne dépend donc jamais de server reflection. Si votre serveur expose bien reflection et que vous préférez sauter l'étape du fichier, passez la source de schéma à "Server reflection" et la commande utilisera -use-reflection à la place.
Prend-il en charge mutual TLS (certificats client) ?
Oui. Ouvrez "Options avancées" pour définir un certificat CA, un certificat client et une clé client - l'outil n'ajoute -cacert, -cert ou -key que lorsqu'ils s'appliquent à la sécurité de connexion choisie (par exemple, -cacert est omis pour les connexions -insecure, puisque grpcurl l'ignore dans ce cas).
Puis-je définir un délai d'attente ou un délai de connexion ?
Oui - "Options avancées" propose des champs pour le délai de connexion (-connect-timeout) et le temps total maximal de l'appel (-max-time), ainsi qu'une taille maximale de message de réponse (-max-msg-sz), tous optionnels.
La commande générée fonctionne-t-elle sous Windows ?
Oui. Utilisez le sélecteur "Command syntax for" pour basculer entre l'échappement shell macOS/Linux, PowerShell et cmd.exe - chacun applique les règles d'échappement propres à ce shell, et le script téléchargeable correspond (.sh, .ps1, ou .bat).
Comparaison
| Fonctionnalité | Online Tool Store | EaseCloud gRPC Client | Newtum API Navigator gRPC Client |
|---|---|---|---|
| Génère un symbole grpcurl correct et qualifié par paquet (package.Service/Method) | Oui | Non - omet le préfixe de paquet | N/A - envoie en direct à la place |
| Analyse un .proto collé pour lister automatiquement les services et méthodes | Oui | Saisie manuelle uniquement | Nécessite server reflection |
| Détecte le type de RPC unaire ou streaming à partir du proto | Oui | Non | Affiché après connexion |
| Constructeur d'en-têtes de métadonnées avec échappement adapté au shell | Oui | Non | Oui |
| La commande évite réellement reflection avec un proto local (ajoute -proto/-import-path, pas seulement une affirmation) | Oui | Non - aucun flag -proto généré, donc bascule silencieusement vers reflection | N/A - toujours en direct |
| Support de mutual TLS (-cacert / -cert / -key) | Oui | Non | Non |
| Flags de délai de connexion, temps maximal et taille maximale de message | Oui | Non | N/A - configuré sur la connexion en direct à la place |
| Échappement de commande correct pour bash/zsh, PowerShell et cmd.exe | Oui | Non - un seul style de shell | N/A - pas de sortie de commande |
| Aucune inscription, aucun appel réseau en direct requis | Oui | Oui | Non - nécessite un serveur accessible |
Comme un navigateur ne peut pas parler gRPC brut, la sortie honnête et utile est une commande correcte - et obtenir le symbole qualifié par paquet, le flag -proto sans reflection, et les règles d'échappement propres à chaque shell est exactement là où une implémentation naïve échoue.