我有一个龙卷风应用程序,其中url类似于
https://example.com/my/path/❤
龙卷风中我有
handlers = [
(r'/my/path/❤$', MyHandler),
]
但它与路径不匹配。
我试了tornado.escape.utf8()
和tornado.escape.url_escape()
而没有运气。
如果我将%E2%9D%A4
替换为❤
的编码字符串,那么它是否可以使其工作而不将其替换为编码字符串?
答案 0 :(得分:2)
不,龙卷风的路由引擎目前适用于网址的编码形式,因此在路由中使用非ascii字符是不切实际的。 (如果作为路径的可变部分捕获,它们工作正常,因此r'/my/path/(.*)'
将正确捕获❤
并将其作为处理程序的第一个参数传递。
处理unicode路由是longstanding feature request,但由于RFC 3987中定义的规则的复杂性,很难正确解决。