首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烧瓶中200成功代码之前的302重定向错误

烧瓶中200成功代码之前的302重定向错误
EN

Stack Overflow用户
提问于 2018-12-06 20:28:04
回答 1查看 4K关注 0票数 0

我正在运行一个FLASK应用程序,其中我检查了索引端点中的JWT。问题是当我执行这个端点时,我得到了2个响应。

代码语言:javascript
复制
127.0.0.1 - - [06/Dec/2018 17:38:21] "GET / HTTP/1.1" 302 -
127.0.0.1 - - [06/Dec/2018 17:38:21] "GET /home HTTP/1.0" 200 - 

我的代码是

代码语言:javascript
复制
@app.route('/')
def index():
    try:
        encoded_jwt=request.headers.get('jwt')
        print(encoded_jwt)
        secret = "-----BEGIN PUBLIC KEY----- ........"

        claims = jwt.decode(encoded_jwt, secret)
        print(type(claims))
        import json

        json_parse = json.loads(json.dumps(claims))
        email = json_parse['http://wso2.org/claims/emailaddress']
        print(email)
        roles = json_parse['http://wso2.org/claims/role']
        print(roles)

        session['email'] = email

        if ROLETAGOFADMIN in roles:
            role="admin"

        elif "" in roles:
            role = "employee"

        else:
            role=None

        session['role'] = role

        if 'email' in session and (session['role'] == "admin" or session['role'] == "employee"  )and request.method == "GET":
            if 'lastpage' in session:
                lastpage=session['lastpage']
                print(lastpage)
                session.pop('lastpage')
                return  redirect(lastpage)
            else:
                return redirect(url_for('home'))
        else:
            return "Sorry. Unfortunately You have no access."

    except Exception as e:
        return redirect(url_for('error'))

由于第一个响应,我的身份服务器正在重定向。我找不到解决的办法。我不知道错误是因为try catch而发生的。请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2018-12-06 20:30:35

您将使用Flask的redirect发出一个重定向,该重定向将向客户端发送一个带有Location header的302响应,指示客户端转到/home。然后,客户端必须向这个新的URL发出请求,客户端最终会得到200响应码。这就是为什么您在服务器日志中看到两个请求和302和200响应代码的原因。

下面这一行导致了重定向:

代码语言:javascript
复制
return redirect(url_for('home'))

似乎你期望redirect简单地呈现/home的内容,并将其作为对/的原始请求的响应返回(例如,单个200响应)。如果这是您真正想要的,那么您可以使用render_template (或/home中用于呈现内容的任何东西)来直接呈现该页面。但是,我建议您保留现有的重定向行为。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53651467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档