gRPC-Anfragen-Generator
Proto-Datei einfügen, Service und Methode wählen und einen korrekten, paketqualifizierten grpcurl-Befehl mit TLS, Timeout und PowerShell-Unterstützung erhalten.
🔒 Dieses Tool läuft vollständig in Ihrem Browser. Ihre Dateien werden niemals an einen Server hochgeladen.
Browser-Tool
gRPC Request Builder
Browser-Einschränkung: Browser können keine rohen gRPC-Verbindungen (basierend auf HTTP/2-Trailern) öffnen, daher kann dieses Tool Ihren Server nicht direkt aufrufen. Stattdessen erstellt es aus Ihrem Endpunkt, Proto und Request einen korrekten, sofort lauffähigen grpcurl-Befehl - kopieren Sie ihn in ein Terminal, um den Aufruf tatsächlich zu senden.
—
Metadaten (Header)
Erweiterte Optionen (TLS-Zertifikate, Timeouts, Nachrichtengröße, Ausgabeformat)
So funktioniert es
- Fügen Sie Ihre .proto-Datei ein - das Tool parst sie lokal, um Services, Methoden und deren Typ (unär oder Streaming) zu ermitteln.
- Wählen Sie einen Service und eine Methode aus den Dropdown-Listen, oder geben Sie manuell ein vollqualifiziertes Symbol ein, falls das Parsen keines findet.
- Füllen Sie die Request-Nachricht als JSON aus und fügen Sie bei Bedarf Metadaten-Header hinzu (z. B. ein Auth-Token).
- Wählen Sie die Verbindungssicherheit - Plaintext, TLS ohne Zertifikatsprüfung oder verifiziertes TLS - und legen Sie eine Schema-Quelle fest: Ihre lokale .proto-Datei (keine Reflection nötig) oder Server-Reflection.
- Öffnen Sie "Erweiterte Optionen", falls Sie mTLS-Zertifikate, ein Connect-/Max-Time-Zeitlimit, eine maximale Nachrichtengröße oder Protobuf-Textausgabe statt JSON benötigen.
- Wählen Sie die Shell, in der Sie den Befehl ausführen - macOS/Linux, PowerShell oder cmd.exe - damit die Anführungszeichen exakt zu dieser Shell passen.
- Kopieren oder laden Sie den generierten grpcurl-Befehl (oder das Skript) herunter und führen Sie ihn in einem Terminal aus, um die Anfrage tatsächlich zu senden.
FAQ
Wobei hilft dieses Tool?
Es parst eine .proto-Datei, um Ihre Services und Methoden zu finden, lässt Sie die Request-Nachricht, Metadaten, TLS- und Timeout-Einstellungen erstellen und generiert einen korrekten, paketqualifizierten grpcurl-Befehl, mit dem Sie den Aufruf tatsächlich durchführen können.
Warum kann es meinen gRPC-Server nicht direkt aufrufen?
Browser können keine rohe gRPC-Verbindung öffnen - gRPC basiert auf HTTP/2-Trailern und einem Framing, das nur ein nativer Client (oder ein gRPC-Web-Proxy) beherrscht. Den exakten grpcurl-Befehl zu generieren ist der ehrliche und korrekte Weg, Ihnen aus einem Browser-Tool heraus einen funktionierenden Aufruf zu liefern.
Werden mein Proto oder meine Daten irgendwohin gesendet?
Nein. Parsing, Request-Erstellung und Befehlsgenerierung laufen vollständig lokal in Ihrem Browser - nichts wird hochgeladen.
Was, wenn mein Proto nicht geparst werden kann?
Der Parser verarbeitet eine einzelne, in sich geschlossene .proto-Datei (keine Imports über mehrere Dateien). Findet er keine Service-Definitionen, wechselt das Tool in einen manuellen Modus, in dem Sie das vollqualifizierte Service/Method-Symbol selbst eingeben.
Was ist grpcurl, und muss ich es separat installieren?
grpcurl ist ein echtes Kommandozeilen-Tool - wie curl, nur für gRPC. Diese Seite generiert nur den Befehl; Sie benötigen weiterhin eine grpcurl-Installation (z. B. über brew oder go install), um ihn tatsächlich gegen Ihren Server auszuführen.
Muss Server-Reflection auf meinem gRPC-Server aktiviert sein, um dieses Tool zu nutzen?
Standardmäßig nicht. Ist als Schema-Quelle "Lokale .proto-Datei" gewählt, übergibt der generierte Befehl Ihr Proto per -proto und -import-path an grpcurl, sodass er nie von Server-Reflection abhängt. Falls Ihr Server Reflection bereitstellt und Sie den Dateischritt überspringen möchten, wechseln Sie die Schema-Quelle zu "Server-Reflection", und der Befehl nutzt stattdessen -use-reflection.
Unterstützt es mutual TLS (Client-Zertifikate)?
Ja. Öffnen Sie "Erweiterte Optionen", um ein CA-Zertifikat, ein Client-Zertifikat und einen Client-Key-Dateipfad festzulegen - das Tool fügt -cacert, -cert oder -key nur hinzu, wenn sie zu Ihrer gewählten Verbindungssicherheit passen (z. B. wird -cacert bei -insecure-Verbindungen weggelassen, da grpcurl es dort ignoriert).
Kann ich ein Timeout oder ein Verbindungslimit festlegen?
Ja - "Erweiterte Optionen" enthält Felder für Connect-Timeout (-connect-timeout) und maximale Gesamtaufrufzeit (-max-time), plus eine maximale Antwortnachrichtengröße (-max-msg-sz), alle optional.
Funktioniert der generierte Befehl unter Windows?
Ja. Nutzen Sie den Selektor "Befehlssyntax für", um zwischen macOS/Linux-Shell-Quoting, PowerShell und cmd.exe-Quoting zu wechseln - jede Variante nutzt die tatsächlichen Escaping-Regeln dieser Shell, und das herunterladbare Skript passt dazu (.sh, .ps1 oder .bat).
Wie wir abschneiden
| Funktion | Online Tool Store | EaseCloud gRPC Client | Newtum API Navigator gRPC Client |
|---|---|---|---|
| Generiert ein korrektes, paketqualifiziertes grpcurl-Symbol (package.Service/Method) | Ja | Nein - lässt das Package-Präfix weg | Entfällt - sendet stattdessen live |
| Parst ein eingefügtes .proto, um Services und Methoden automatisch aufzulisten | Ja | Nur manuelle Eingabe | Erfordert Server-Reflection |
| Erkennt unären vs. Streaming-RPC-Typ aus dem Proto | Ja | Nein | Wird erst nach dem Verbinden angezeigt |
| Metadaten-Header-Builder mit shell-sicherem Escaping | Ja | Nein | Ja |
| Befehl überspringt Reflection bei lokalem Proto tatsächlich (fügt -proto/-import-path hinzu, nicht nur eine Behauptung) | Ja | Nein - es wird kein -proto-Flag generiert, sodass stillschweigend auf Reflection zurückgefallen wird | Entfällt - immer live |
| Unterstützung für mutual TLS (-cacert / -cert / -key) | Ja | Nein | Nein |
| Flags für Connect-Timeout, Max-Time und maximale Nachrichtengröße | Ja | Nein | Entfällt - stattdessen auf der Live-Verbindung konfiguriert |
| Korrektes Befehls-Quoting für bash/zsh, PowerShell und cmd.exe | Ja | Nein - nur ein Shell-Stil | Entfällt - keine Befehlsausgabe |
| Keine Anmeldung, keine Live-Netzwerkverbindung nötig | Ja | Ja | Nein - erfordert einen erreichbaren Server |
Da ein Browser kein rohes gRPC sprechen kann, ist ein korrekter Befehl die ehrliche und nützliche Ausgabe - und genau bei dem paketqualifizierten Symbol, dem reflection-freien -proto-Flag und den korrekten Quoting-Regeln der jeweiligen Shell scheitert eine naive Implementierung.