url 查询中的字符 %7D 是啥意思?
Posted
技术标签:
【中文标题】url 查询中的字符 %7D 是啥意思?【英文标题】:What do the chars %7D mean in an url query?url 查询中的字符 %7D 是什么意思? 【发布时间】:2014-04-25 23:04:46 【问题描述】:如果我使用 url 访问我的 web 应用程序
/vi/5907399890173952.html
然后它可以工作,但是当我查看日志文件时,googlebot 正在尝试访问一个类似的 url,这会产生异常:
/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)
我用于 url 的正则表达式是
('/vi/(\d+)(\.html?)?', NewHandler)
更新 140319 21:54 CET
我想我发现了一个 jinja2 模板的泄漏:
scored_document.fields.0.value|safe
我现在用另一个 对其进行了修补。
【问题讨论】:
【参考方案1】:您需要使用`
而不是"
或'
。
例如:
`http://localhost:8080/api/v1/user-profile/$userProfileID/image/upload`
而不是:
"http://localhost:8080/api/v1/user-profile/$userProfileID/image/upload"
【讨论】:
【参考方案2】:%7D
是 字符的 ASCII 码,它可能是从模板中泄露出来的...
【讨论】:
树枝吓到我了! 我被刀片吓到了! 我刚刚忘记从 js 模板文字中的变量引用中删除
带有 IDE 自动完成功能的 TypeScript 模板让我省心。
浪费了 1 小时检查这个以上是关于url 查询中的字符 %7D 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章