当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何使用Flask处理URL中的特殊字符》经验,为你挑选了1个好方法。

我正在使用Flask开发迷你API后端,我有以下URL:

@app.route('/v1.0/post/check/')
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

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

似乎Flask认为“?” 和'&'作为特殊字符,然后自动拆分URL。那么,为了在Flask中获得整个URL,我应该怎么做?



1> Robert Moska..:

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

您有两种选择。

明智的做法是在构造URL的那部分时使用urlencode。那将安全地编码?和&符号。

这是一个示例,因此您可以判断是否如此。这个:

Foo?g=one&two=2

看起来像这样:

Foo%3Fg%3Done%26two%3D2

这将是您api的uri的最后一部分。

第二个是从烧瓶拆分的所有参数中重建值。但这令我感到震惊,因为它需要做很多工作。

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有