Java でトランスポートとして SSL を使用する Apache Thrift を使用してサービスを実装する方法の例を見つけることができました。しかし、Python ではありません。
Apache Thrift を使用して、Android から呼び出される Python で記述されたサービスを呼び出すためのボイラープレート コードを生成したいと考えています。トランスポートは 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.')
私は PHP、Java、および Python で Thrift を使用してきました。さまざまな言語で利用できる公式の例の一部:公式ソース コード チュートリアル。以下は、クライアント/サーバーの倹約プロトコルを実装する方法をより詳細に説明している Web ページの 2 つです。
SSL 経由で接続を保護することは、いくつかの新しい行を追加してサーバー/クライアントを変更することを意味します。Java の例を次に示します。
最後のコードを python に書き直すのは難しい作業ではありません