在Flask中,我想在URL中发送一个URL作为参数及其所有参数
这是一个工作示例
http://graph.facebook.com/https://www.facebook.com/photo.php?fbid=717097101644637&set=a.456449604376056.98921.367116489976035&type=1&theater
我找不到办法,因为在我这样做的时候,网址不会成真。
@app.route('/<url>', methods=['GET'])
def show(url):
""" do something with it """
知道该怎么做吗?
谢谢
答案 0 :(得分:1)
如果您查看Facebook为该网址返回的内容:
{
"id": "https://www.facebook.com/photo.php",
"shares": 377224,
"comments": 2
}
您将注意到graph.facebook.com
正在使用查询字符串参数 - 它们不被视为作为搜索参数提交的URL的一部分。如果您希望能够获取整个URL 包括查询字符串参数,则需要对查询字符串your.url/https://www.facebook.com/photo.php%3Ffbid=717097101644637%26set=a.456449604376056.98921.367116489976035%26type=1%26theater
进行URL编码
答案 1 :(得分:1)
不幸的是,我无法控制URL是否是URL编码的,所以我最好的就是这个。
_url = request.url.replace(request.url_root,'')
url = urllib.unquote(_url)
也许它会帮助某人。