如何用Flas处理URL中的特殊字符

2024-06-06 17:19:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Flask开发一个迷你API后端,我有以下网址:

@app.route('/v1.0/post/check/<path:url>')
def check(url):
    print url
    //do some works

示例API调用如下所示: /v1.0/post/check/http://exampleside.com/enter1/index.php?app=forum&act=threadview&tid=14066185

我期望的是在代码中获取并打印URL字符串'http://exampleside.com/enter1/index.php?app=forum&act=threadview&tid=14066185',但实际上,我真正得到的只是'http://exampleside.com/enter1/index.php'

烧瓶好像考虑了和“&;”作为特殊字符,然后自动拆分URL。那么我该怎么做才能把URL作为一个整体放在烧瓶里呢?在


Tags: comapiapphttpurlindexcheckforum
2条回答

这是因为?并指示您正在URL中接收参数。在

要获取它们,需要使用如下所示的请求对象: app = request.args.get('app')

如果您只需要整个url、参数和所有内容,请尝试Robert的方法。在

您正在尝试传递url,包括url上的请求参数。在

你有两个选择。在

聪明的方法是在构建URL时对其进行URL编码。它能安全地编码?和符号。在

这里有一个例子,你可以判断它是否是真的。这个:

Foo?g=one&two=2

看起来像这样:

^{pr2}$

这将是您的api的uri的最后一段。在

第二种方法是根据flask splits的所有参数重建值。但我觉得这是一项艰巨的工作。在

相关问题 更多 >