字符%7D在网址查询中的含义是什么?

Nik*_*ntz 22 python url google-app-engine jinja2 webapp2

如果我使用网址访问我的webapp

/vi/5907399890173952.html

然后它工作,但当我查看日志文件,然后googlebot尝试访问生成异常的类似网址:

/vi/5907399890173952.html%7D%7D

这是什么意思,怎么能作为例外处理?来自python的消息是:

 /vi/5251302833520640.html%7D%7D 404 20ms 0kb Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) module=default version=release140319
66.249.67.109 - - [19/Mar/2014:07:53:32 -0700] "GET /vi/5251302833520640.html%7D%7D HTTP/1.1" 404 84 - "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" ms=21 cpu_ms=0 cpm_usd=0.000009 app_engine_release=1.9.1 instance=00c61b117c0bc0f980f2a37a6ac534786055d3ab
E 2014-03-19 15:53:32.678
get() takes exactly 3 arguments (2 given)
Run Code Online (Sandbox Code Playgroud)

我用于网址的正则表达式是

('/vi/(\d+)(\.html?)?', NewHandler)

更新140319 21:54 CET

我想我已经从jinja2模板中发现了泄漏:

{{scored_document.fields.0.value|safe}

我现在用另一个补丁}.

Mar*_*nds 65

%7D 是}字符的ASCII码,可能是从模板中泄漏出来的......

  • 我只是忘了从js模板文字中的变量引用中删除`}` (2认同)