如何在python中结合烧瓶和请求?

时间:2016-08-18 03:57:23

标签: python flask python-requests

在页面internallogin上,如果用户进行身份验证,我想发帖请求。为此,我有以下代码。

@app.route('/internallogin', methods=['POST', "GET"])
def showInternallogin():
    uname = request.form.get("name")
    passw = request.form.get("pass")
    if is_valid_login(uname, passw):
        print("legal_login")
        req =  requests.Request(method="POST", url='http://localhost:5000/internal', data={"name": uname, "passw": passw})
        return req
    else:
        return redirect('/login')

在打印“legal_login”后,我得到的是TypeError: 'Request' object is not callable错误。如何使用烧瓶发帖请求?

2 个答案:

答案 0 :(得分:3)

您可以使用requests发布帖子,如下所示:

response = requests.post('http://localhost:5000/internal', data={...})

但是,通常无需从自身调用服务器。您应该考虑在/internal路由中抽象出逻辑,并直接在此路由中调用它。

答案 1 :(得分:0)

以下是@Karin回答

ref_mkey

这可能是您收到该错误的原因。

Return a requests.Response object from Flask

  

如果返回元组,则元组中的项可以提供额外信息。这样的元组必须采用(响应,状态,标题)形式,其中至少有一个项目必须在元组中。状态值将覆盖状态代码,标题可以是其他标题值的列表或字典。

这应该可以解决它。

response = requests.post('http://localhost:5000/internal', data={...})