我已经能够找到有关如何使用 Apache Thrift 实现服务的示例,这些服务在 Java 中使用 SSL 作为传输 ..。但不是在 Python 中。
我想使用 Apache Thrift 生成用于调用用 Python 编写的服务的样板代码,这些服务将从 Android 调用。传输必须是 HTTPS。
有什么线索可以找到类似的东西吗?
你的客户看起来像这样:
from thrift.transport import THttpClient
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from tutorial import Calculator
transport = THttpClient.THttpClient('https://your-service.com')
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Calculator.Client(protocol)
# Connect!
transport.open()
client.ping()
您可以在您的服务前面粘贴一个代理来终止 SSL 连接,然后将 http 请求传递给您的服务器,如下所示:
from thrift.protocol import TBinaryProtocol
from thrift.server import THttpServer
from tutorial import CalculatorHandler # assuming you defined this
handler = CalculatorHandler()
processor = Calculator.Processor(handler)
pfactory = TBinaryProtocol.TBinaryProtocolFactory()
server = THttpServer.THttpServer(
processor,
('', 9090),
pfactory
)
print('Starting the server...')
server.serve()
print('done.')