次のコードを実行しています。これは Twisted Framework のサンプル リストからのもので、Web サーバーのものです。
from twisted.web import server, resource
from twisted.internet import reactor
class HelloResource(resource.Resource):
isLeaf = True
numberRequests = 0
def render_GET(self, request):
self.numberRequests += 1
request.setHeader("content-type", "text/plain")
arg = request.args
q = arg['q']
#Added for debugging
for key, value in arg.iteritems():
print key, value
return "I am request #" + str(self.numberRequests) + " " + q[0] + "\n"
reactor.listenTCP(8080, server.Site(HelloResource()))
reactor.run()
実行するには:
[user@localhost pytwist]$ python twi.py
ブラウザの URL:
http://localhost:8080/?q=test
ただし、コンソールで次のKeyError Exception が発生します。
File "twi.py", line 12, in render_GET
q = arg['q']
exceptions.KeyError: 'q'
それでも、ブラウザは期待どおりの出力を提供しています。
I am request #3 test
また、コンソールにはコードのデバッグ部分が正しく表示されています。
q ['af']
出力が正しく、キーが適切に存在する場合、何がエラーになる可能性がありますか? dict.get()
メソッドを試しましたが、問題が解決しないことに注意してください。