1

在连接 grpc 客户端/服务器以侦听休息请求时需要帮助。想要执行一个发布请求

任何帮助深表感谢..

消化器.proto

import "google/api/annotations.proto";
service Digestor{
 rpc GetDigestor(DigestMessage) returns (DigestedMessage) {}
}

service DigestorRest {
  rpc GetDigestor(DigestMessage) returns (DigestedMessage) {
    option (google.api.http) = {
      get: "/v1/digest"
      body: "*"
    };
  }
}

生成 pb2 文件后。

grpc - 请求工作正常

curr_client = DigestorClient()
print(curr_client.get_digest("Test Message"))

我的休息/获取请求:

requests.get(url='http://localhost:46001/v1/digest')

应该返回正确的响应但是我得到

requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine('\x00\x00\x18\x04\x00\x00\x00\x00\x00\x00\x04\x00@\x00\x00\x00\x05\x00@\x00\x00\x00\x06\x00\x00 \x00þ\x03\x00\x00\x00\x01\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00?\x00\x01\x00\x00\x08\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'))
4

1 回答 1

0

我假设您正在使用 GCP转码功能。如果您还没有尝试过本教程,请尝试完成示例步骤。

gRPC 协议基于 HTTP2 而不是 HTTP1。该requests库是一个 HTTP1。报告的异常requests看起来像协议不匹配。因此,您的 GCP Endpoints设置可能存在问题。

于 2019-06-26T18:12:41.837 回答