Python webapp处理程序中的百分比编码不一致

Python webapp处理程序中的百分比编码不一致,python,google-app-engine,python-2.5,Python,Google App Engine,Python 2.5,我正在尝试使用GoogleAppEngine创建一个处理程序映射 正则表达式如下所示: ('/api/1/apps/([-0-9a-zA-Z]+)/values/(.+)', ApiValueHandler) 当URL看起来像/api/1/apps/50b96eb0/values/New%20note%2hello时,传递给我的处理程序的值是New%20note/hello。正如你所看到的,它没有跳过斜线,但没有空间 有没有什么地方我错过了,或者我需要自己做一些逃避?如果有一些值,它将永远不会

我正在尝试使用GoogleAppEngine创建一个处理程序映射

正则表达式如下所示:

('/api/1/apps/([-0-9a-zA-Z]+)/values/(.+)', ApiValueHandler)
当URL看起来像
/api/1/apps/50b96eb0/values/New%20note%2hello
时,传递给我的处理程序的值是
New%20note/hello
。正如你所看到的,它没有跳过斜线,但没有空间

有没有什么地方我错过了,或者我需要自己做一些逃避?如果有一些值,它将永远不会消失。是否有这些值的列表

更新:

下面是一个测试应用程序,它在使用Python 2.5的Windows 7上的开发服务器上运行时显示了这种行为

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

使用
urllib.unquote
来取消显示字符串


非转义字符由
引号定义:字母、数字、
.-
和默认的安全字符
/

只需对匹配的字符串使用
unquote

>>> urllib.unquote('/%24/')
'/$/'

当值传递给处理程序时,会不会有双重的风险,使那些已经无法转移的值无法转移?请向我们展示您的代码;我刚刚在一个示例应用程序中尝试了这个案例,而“无需回避”功能毫无问题。@systempuntoot但我现在已经在问题中添加了代码。这被否决的原因是什么?如果答案不正确,你能贴一个正确的吗?