4

Java でトランスポートとして SSL を使用する Apache Thrift を使用してサービスを実装する方法のを見つけることができました。しかし、Python ではありません。

Apache Thrift を使用して、Android から呼び出される Python で記述されたサービスを呼び出すためのボイラープレート コードを生成したいと考えています。トランスポートは HTTPS である必要があります。

そのようなものを見つけることができる手がかりはありますか?

4

2 に答える 2

2

クライアントは次のようになります。

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.')
于 2015-09-03T20:35:33.613 に答える
1

私は PHP、Java、および Python で Thrift を使用してきました。さまざまな言語で利用できる公式の例の一部:公式ソース コード チュートリアル。以下は、クライアント/サーバーの倹約プロトコルを実装する方法をより詳細に説明している Web ページの 2 つです。

SSL 経由で接続を保護することは、いくつかの新しい行を追加してサーバー/クライアントを変更することを意味します。Java の例を次に示します。

最後のコードを python に書き直すのは難しい作業ではありません

于 2013-04-30T13:42:57.300 に答える