ハンドラマッピングをGoogleAppEngineで動作させようとしています。
正規表現は次のようになります。
('/api/1/apps/([-0-9a-zA-Z]+)/values/(.+)', ApiValueHandler)
/api/1/apps/50b96eb0/values/New%20note%2Fhello
URLが私のハンドラーに渡される値のように見えるときはですNew%20note/hello
。ご覧のとおり、スラッシュはエスケープされていませんが、スペースはエスケープされていません。
どこかに欠けている設定はありますか、それとも自分で逃げる必要がありますか?いくつかの値がある場合、それは決してエスケープされませんこれらのリストはどこかにありますか?
更新しました:
これは、Python2.5を搭載したWindows7の開発サーバーで実行した場合のこの動作を示すテストアプリです。
main.py
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
class MainHandler(webapp.RequestHandler):
def get(self, blah):
self.response.out.write(blah)
app = webapp.WSGIApplication([('/(.*)', MainHandler)], debug=True)
util.run_wsgi_app(app)
app.yaml
application: engineapp
version: 1
runtime: python
api_version: 1
handlers:
- url: .*
script: main.py