4

Python 2.7 から SPDY を使用しようとしています。C 実装のラッパーとして Python-spdylay ライブラリを見つけました。ライブラリの一部が Python 3 のみであることを認識しています。

Python 2.7 の Python-spdylay ドキュメント ( http://spdylay.sourceforge.net/python.html#simple-spdy-client )から次の例の動作を再現したいと思います。

#!/usr/bin/env python

# The example SPDY client.  You need Python 3.3 or later because we
# use TLS NPN.
#
# Usage: spdyclient.py URL...
#
import sys
import spdylay

class MyStreamHandler(spdylay.BaseSPDYStreamHandler):
    def on_header(self, nv):
        sys.stdout.write('Stream#{}\n'.format(self.stream_id))
        for k, v in nv:
            sys.stdout.write('{}: {}\n'.format(k, v))

    def on_data(self, data):
        sys.stdout.write('Stream#{}\n'.format(self.stream_id))
        sys.stdout.buffer.write(data)

    def on_close(self, status_code):
        sys.stdout.write('Stream#{} closed\n'.format(self.stream_id))

if __name__ == '__main__':
    uris = sys.argv[1:]
    spdylay.urlfetch(uris, MyStreamHandler)

つまり、URL をフェッチしてコールバックを提供したいだけですが、SPDY を使用しています。

PyPi はこのステートメントを提供します

コア ライブラリ API は Python 2 および 3 で動作します。ただし、ThreadedSPDYServer は TLS NPN 拡張を使用するため、Python 3.3 が必要です。

これは を意味すると思いspylay.urlfetchますspdylay.BaseSPDYStreamHandlerのでThreadedSPDYServer、スレッド化されていない SPDYServer を使用できますか?

4

0 に答える 0