淘宝优惠劵网站建设,微网站建设方向,wordpress 菜单 导航代码,小程序多用户商城源码大家好#xff0c;今天给大家分享的是一个命令行工具grpcurl#xff0c;它能够直接与 gRPC 服务进行交互。 项目介绍
您可以把grpcurl想象成是 curl 的 gRPC 版本#xff0c;但是功能更加强大。
由于 gRPC 服务之间的通信使用的是 Protocol Buffers (Protobuf) 格式的二进…大家好今天给大家分享的是一个命令行工具grpcurl它能够直接与 gRPC 服务进行交互。 项目介绍
您可以把grpcurl想象成是 curl 的 gRPC 版本但是功能更加强大。
由于 gRPC 服务之间的通信使用的是 Protocol Buffers (Protobuf) 格式的二进制编码传统的 curl 工具无法直接处理。而 grpcurl 则专门为 gRPC 服务设计可以方便地发送请求并查看响应。
主要特点 支持所有 gRPC 方法 包括 unary, server-streaming, client-streaming 和 bidirectional streaming 等。 支持多种传输协议 支持 plain-text (HTTP/2) 和 TLS并且对于 TLS 有大量的可选项配置同时支持双向 TLS。 易于使用 提供了直观的命令行接口方便用户快速上手。 可扩展性强 支持自定义插件可以扩展 grpcurl 的功能。
典型使用场景
开发阶段 在开发 gRPC 服务的过程中可以使用 grpcurl 来测试服务是否正常工作以及各个接口的返回值是否符合预期。运维阶段 在运维 gRPC 服务的过程中可以使用 grpcurl 来诊断问题例如检查服务是否可用、请求是否超时等。
安装使用
安装
二进制文件
通过Github发布页进行下载安装
Mac
brew install grpcurl
Docker
# Download image
docker pull fullstorydev/grpcurl:latest
# Run the tool
docker run fullstorydev/grpcurl api.grpc.me:443 list
golang
如果你已经安装了Go SDK则可以使用该go 工具进行安装grpcurl
go install github.com/fullstorydev/grpcurl/cmd/grpcurllatest
使用
grpcurl -plaintext localhost:50051 service.method
-plaintext: 指定使用 plain-text (HTTP/2) 协议。localhost:50051: gRPC 服务的地址和端口。service.method: 要调用的 RPC 方法。
更多高级用法
grpcurl 提供了丰富的选项可以满足各种复杂的场景。例如
指定请求参数
grpcurl -plaintext localhost:50051 service.method --json{field1: value1, field2: 2}
设置超时时间
grpcurl -plaintext -timeout 5s localhost:50051 service.method
使用 TLS
grpcurl -plaintext -cacert ca.crt -cert client.crt -key client.key localhost:50051 service.method
更多用法请查看帮助文档
grpcurl -help
grpcurl 是一个非常有用的工具可以大大简化 gRPC 服务的开发和测试。如果你正在使用 gRPC强烈建议你尝试一下 grpcurl。
项目地址
https://github.com/fullstorydev/grpcurl
直接通过类CURL方式与GRPC方法交互的命令行工具 - BTool博客 - 在线工具软件为开发者提供方便