首页 > 解决方案 > How to decode grpc-web-text using java and proto files (How to parse grpc-web-text to JSON)

问题描述

我有一些代理服务器将 https 请求重定向到 gRPC 服务,在响应中我得到一些编码的字符串,例如(AAAAAXEKjAJleUpoYkdjaU9pSklVekkxTmlKOS5leUoxYzJWeVgybGtJam94Tml3aWRYTmxjbDkxZFdsa0lqb2lOR0kwTXpCaVlqSXRaamN6WVMweE1XVTVMVGhtTUdJdE16WXlZamxsTVRVMU5qWTNJaXdpYzJWemMybHZibDkxZFdsa0lqb2lPR0ppTmpKaE1XSXRaR0V3TUMwME1EZGpMV0ZtTlRZdE4yUTFaV1JoT0daaE16RmpJaXdpWlhod0lqb3hOakk1TlRZNU1qVXlMQ0pwYzNNaU9pSmhZMk52ZFc1MEluMC5GbmYyQWxRYmdwY1VDLW0yOGhmRnBoeTlrNG9NbmdsOXRXc0lMNGxZdG84EhhGS21KcHVXVWJERHZ4OEdZdEdMQ3lnSG4Y5IGFiQYgECoYb3JnYWRtaW5AY2Ftb3ZlcmNhc3QuY29tMiQ0YjQzMGJiMi1mNzNhLTExZTktOGYwYi0zNjJiOWUxNTU2Njc=gAAAADJncnBjLXN0YXR1czowDQpncnBjLW1lc3NhZ2U6T0sNCnRpbWVyOjM0MS4xMzAwMTENCg==)

请检查屏幕截图。 在此处输入图像描述

我有 proto 文件,我生成了 *.desc 文件,我做了这样的事情:

FileInputStream fin = new FileInputStream("sessions_service.desc");
    DescriptorProtos.FileDescriptorSet set = DescriptorProtos.FileDescriptorSet.parseFrom(fin);
    Descriptors.Descriptor md = null;
    try {
        md = Descriptors.FileDescriptor.buildFrom(set.getFile(0),
                new  Descriptors.FileDescriptor[] {})
                .findMessageTypeByName("CreateSessionRequest");
    } catch (Descriptors.DescriptorValidationException e) {
        e.printStackTrace();
    }

    DynamicMessage.parseFrom(md, ByteString.copyFromUtf8(someString));

我知道这是错误的,请帮助我,我们如何在java中以编程方式解析这些字符串?

标签: javajsongrpcgrpc-javagrpc-web

解决方案


推荐阅读