Python for Android

WSGI

このエントリーをはてなブックマークに追加
最終更新日 2016-12-31

Python for Android の wsgiref モジュールを利用すると、 Android 上で WSGI アプリケーションを作成することができます。

次に示すのは、Web ブラウザの User-Agent を表示する WSGI アプリケーションの例です。

from wsgiref.simple_server import make_server

def wsgi_sample_app(environ, start_response):
    status = "200 OK"
    headers = [("Content-type", "text/plain")]
    start_response(status, headers)

    return [environ["HTTP_USER_AGENT"]]

httpd = make_server("", 8000, wsgi_sample_app)
httpd.serve_forever()

make_server() は WSGI サーバを作成します。 引数は順に、サーバのアドレス、ポート番号、WSGI アプリケーション、WSGI サーバクラス名、リクエストハンドラクラス名で、第4引数と第5引数は省略可能です。 serve_forever() を呼び出すとサーバが起動してリクエストの処理を開始します。

今回の例では、WSGI アプリケーションを wsgi_sample_app 関数として定義します。 この関数では HTTP ステータスと Content-type をレスポンスとして設定し、 HTTP_USER_AGENT を返します。

このスクリプトを実行した状態で Android の Web ブラウザを起動し、http://localhost:8000/ にアクセスすると、 Web ブラウザの User-Agent が表示されます。

Wi-Fi が有効な環境であれば他の端末からアクセスすることも可能です。