You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 20:12:08