我需要将包含斜杠的字符串通过url中的最后一个参数传递给我的bottlepy服务器,但由于斜杠被视为参数分隔符,因此服务器不会按照我需要的方式处理它。 我找到了一个关于flask如何支持这个的页面: http://flask.pocoo.org/snippets/76/ 但是还没有在瓶子里找到类似的解决方案
答案 0 :(得分:2)
听起来像你想要的:path
:
:path匹配所有字符,包括a中的斜杠字符 非贪婪的方式,可用于匹配多个路径段。
例如,
@route('/root/<path:thepath>')
def callback(thepath):
# `thepath` is everything after "/root/" in the URI.
...
编辑:回应OP的评论(如下),这是一个适合我的片段:
from bottle import Bottle, route
app = Bottle()
@app.route('/add/<uid>/<collection>/<group>/<items:path>')
def add(uid, collection, group, items):
return 'your uri path args: {}, {}, {}, {}\n'.format(uid, collection, group, items)
app.run(host='0.0.0.0', port=8081)
收率:
% ~>curl 'http://127.0.0.1:8081/add/1/2/3/and/now/a/path'
your uri path args: 1, 2, 3, and/now/a/path