私は最近、web.pyベースのスタンドアロンWebサービスを作成しました。予期しない状況のため、サービスはIISを介して実行する必要があります。 IISでweb.pyをCGIとして実行できると聞きましたが、設定に問題があります。 Python CGIスクリプトを実行できますが、web.pyベースのスクリプトを実行しようとすると内部サーバーエラーが発生します。エラーの状態は次のとおりです。
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.
参考までに、スクリプトは次のとおりです。
import web
urls = (
'/(.*)','hello'
)
class hello:
def GET(self,name):
i = web.input(times=1)
if not name: name = 'world'
for c in xrange(init(i.times)): print 'Hello, '+name+'!'
if __name__=="__main__":
web.run(urls)
このスレッド 私が行ったソケットの作成を回避するためにハッキングされたバージョンのflupを使用することに言及していますが、役に立ちません。
ここにいくつかの情報があります: http://support.Microsoft.com/kb/145661
ここに提案があります: http://support.Microsoft.com/kb/238788
バグ修正は次のとおりです。 http://support.Microsoft.com/kb/884764
IIS7を実行している場合(実際には指定していません)、最後の1つはおそらく無視できます