1

従来の Web サーバーで cgi のような python ファイルを実行するようにねじれた Web サーバーを取得する方法はありますか? ディレクトリに移動すると、別のファイル内で python を実行できますか?

基本的な Web サーバーを作成しましたが、テキストや HTML ファイルなどの静的コンテンツしか返されません。

from twisted.web.server import Site
from twisted.web.static import File
from twisted.internet import reactor

resource = File('/root')
factory = Site(resource)
reactor.listenTCP(80, factory)
reactor.run()

なぜそれが不可能なのかは理解していますが、ドキュメントが見つかりませんでした。ありがとう

編集:解決策を見つけました。ディレクトリの面倒な作業を行う代わりに、GET リクエストを解析し、それらを偽のファイルのように扱うだけです。CGI はメイン ファイル内で実行されます。

ありがとう

4

2 に答える 2

2

あなたが望むことをするかもしれないこの例を見つけました。

詳細については、 Twisted Web Docsをご覧ください。ページで CGI を検索します。

from twisted.internet import reactor
from twisted.web import static, server, twcgi

root = static.File("/root")
root.putChild("cgi-bin", twcgi.CGIDirectory("/var/www/cgi-bin"))
reactor.listenTCP(80, server.Site(root))
reactor.run()
于 2013-04-26T03:26:05.577 に答える
0

そのためには通常、Twisted WSGI サーバーを使用します。

http://twistedmatrix.com/documents/12.3.0/web/howto/web-in-60/wsgi.html

Python ファイルを正確に実行するわけではありませんが、「アプリケーション」を呼び出します。しかし、新しい Python プロセスを開始する必要がないため、その方が優れています。

ファイルを実行するための twisted CGI サポートを使用することもできますが、Twisted を使用して CGI で Python スクリプトを実行することは、スポーツカーをトラクターとして使用することに少し似ています。

于 2013-04-26T03:27:16.243 に答える