Не могу заставить gRPC работать с запросами python rest api call - PullRequest
0 голосов
/ 26 июня 2019

Нужна помощь в подключении клиента / сервера grpc для прослушивания остальных запросов. Хотите выполнить почтовый запрос

Любая помощь очень ценится.

digestor.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'))

1 Ответ

0 голосов
/ 26 июня 2019

Полагаю, вы используете функцию GCP Transcoding .Если вы еще не пробовали руководство, попробуйте выполнить шаги примера.

Протокол gRPC основан на HTTP2, а не на HTTP1.Библиотека requests является HTTP1.Исключение, сообщаемое requests, выглядит как несоответствие протокола.Таким образом, вполне вероятно, что в настройках GCP Конечные точки есть проблема.

...