如何在PyCharm中用Python调用基于服务器反射的gRPC API
使用Python调用gRPC服务(基于grpc_requests库)
前提准备
先安装所需依赖库:
pip install grpc-requests
适配你的gRPC请求的代码
根据你提供的Postman请求信息,修改示例代码如下:
from grpc_requests import Client # 初始化客户端,替换为你的gRPC服务地址 client = Client.get_by_endpoint("10.91.151.107:30105") # 可选:验证目标服务是否存在(可根据实际情况注释或删除) assert "StatelessCalc" in client.service_names # 构造请求数据(对应Postman中的Payload,注意Python布尔值首字母大写) request_data = { "headend": {"v4": 173768306}, "tailend": {"v4": 173768309}, "dataplane": "DATAPLANE_MPLS", "o_metric": "METRIC_TYPE_IGP", "constraints": { "unprotected_segments": True, "max_segments": 10, "return_path_max_segments": 10 }, "corouted_return_path": True } # 调用指定服务的Unary方法 response = client.request("StatelessCalc", "SinglePath", request_data) # 打印响应结果 print("请求响应:", response)
关键说明
Client.get_by_endpoint:通过服务地址自动启用服务器反射,无需手动导入protobuf文件即可识别服务和方法client.request:参数依次为服务名、方法名、请求数据字典,完全对应你通过反射得到的StatelessCalc/SinglePath方法- 请求数据直接沿用Postman中的Payload结构,仅需将JSON的小写
true改为Python的True即可
内容的提问来源于stack exchange,提问作者harshit gupta
相关产品推荐
相关产品推荐

