向自己发送发布请求时,烧瓶挂起

塞巴斯蒂安·卡尔森(Sebastian Karlsson)

我正尝试从其自己的视图之一向我的Flask应用发送发布请求,但该请求一直挂起,直到我杀死服务器为止。如果我使用JavaScript进行请求,则效果很好。为什么从Python代码中不起作用?

from flask import Blueprint, render_template, abort, request, Response, session, url_for
from jinja2 import TemplateNotFound

from flask.ext.wtf import Form
from wtforms import BooleanField, TextField, PasswordField

import requests

login = Blueprint('login', __name__, template_folder='templates')

class LoginForm(Form):
    email = TextField('Email')
    password = PasswordField('Password')

@login.route('/login', methods=['GET', 'POST'])
def _login():

    form = LoginForm(request.form, csrf_enabled=False)

    if form.validate_on_submit():
        return requests.post(request.url_root + '/api/login', data={"test": True})
    
    return render_template('login.html', form=form)
大卫主义

在1.0之前,Flask的开发服务器默认为单线程。在这种模式下,它一次只能处理一个请求。发出请求会阻塞,直到它收到响应为止。您的Flask代码在一个线程中发出一个请求,然后等待。没有其他线程可以处理第二个请求。因此,请求永远不会完成,并且原始请求将永远等待。

在开发服务器中启用线程以避免死锁并解决当前问题。

app.run(threaded=True)

但是,永远不需要从应用程序内部向应用程序发出完整的HTTP请求,这表明存在更深的设计问题。例如,观察内部请求将无法访问客户端浏览器上的会话。提取通用代码并在内部调用它,而不是发出新请求。

def common_login(data):
    ...

@app.route("/login")
def login():
    ...
    common_login(data)
    ...

@app.route("/api/login")
def api_login():
    ...
    common_login(data)
    ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ActiveMQ嵌入式代理在发送发布请求时挂起

来自分类Dev

烧瓶表格未发送发布请求

来自分类Dev

ajax json向烧瓶发送请求

来自分类Dev

烧瓶请求永远挂起

来自分类Dev

使用烧瓶向自己发送电子邮件

来自分类Dev

Angular 2 - 发布请求 - 向泽西岛发送请求时不支持的媒体类型

来自分类Dev

向服务器发送发布请求时,应用程序冻结

来自分类Dev

向在 ngrok 上运行的应用程序发送发布请求时出现 502 错误

来自分类Dev

在烧瓶请求中发送烧瓶请求

来自分类Dev

在烧瓶请求中发送烧瓶请求

来自分类Dev

向fluxpoint API发送请求时出错

来自分类Dev

通过Ajax发送请求时如何停止挂起页面

来自分类Dev

我无法将发布请求从反应表单发送到烧瓶服务器

来自分类Dev

如何向安装在 EC2 上的烧瓶发送 http 请求

来自分类Dev

为什么向烧瓶中的函数添加请求会导致空 POST 时出现“错误请求”?

来自分类Dev

发送HTTP发布请求时,NSURLErrorDomain Code = -1001错误

来自分类Dev

状态未定义:从React应用发送发布请求时

来自分类Dev

从ui前端发送发布请求时,发布请求消息未在应用中显示

来自分类Dev

向服务器发送请求时无效的JSON

来自分类Dev

401向Web API发送Ajax请求时未经授权

来自分类Dev

向PHP脚本发送请求时出现错误的符号

来自分类Dev

向服务器发送请求时无效的JSON

来自分类Dev

向PHP脚本发送请求时出现错误的符号

来自分类Dev

向 WSO2 ESB 发送 POST 请求时出错

来自分类Dev

子请求未发送或请求挂起

来自分类Dev

如何从自己的自定义域向b2clogin域发送Web请求?

来自分类Dev

浏览器向自己的服务器发送空请求

来自分类Dev

如何在php-codeigniter中向RESTserver api发送发布请求?

来自分类Dev

如何使用 nodejs 10x 向 aws lambda 中的外部 api 发送发布请求?

Related 相关文章

  1. 1

    ActiveMQ嵌入式代理在发送发布请求时挂起

  2. 2

    烧瓶表格未发送发布请求

  3. 3

    ajax json向烧瓶发送请求

  4. 4

    烧瓶请求永远挂起

  5. 5

    使用烧瓶向自己发送电子邮件

  6. 6

    Angular 2 - 发布请求 - 向泽西岛发送请求时不支持的媒体类型

  7. 7

    向服务器发送发布请求时,应用程序冻结

  8. 8

    向在 ngrok 上运行的应用程序发送发布请求时出现 502 错误

  9. 9

    在烧瓶请求中发送烧瓶请求

  10. 10

    在烧瓶请求中发送烧瓶请求

  11. 11

    向fluxpoint API发送请求时出错

  12. 12

    通过Ajax发送请求时如何停止挂起页面

  13. 13

    我无法将发布请求从反应表单发送到烧瓶服务器

  14. 14

    如何向安装在 EC2 上的烧瓶发送 http 请求

  15. 15

    为什么向烧瓶中的函数添加请求会导致空 POST 时出现“错误请求”?

  16. 16

    发送HTTP发布请求时,NSURLErrorDomain Code = -1001错误

  17. 17

    状态未定义:从React应用发送发布请求时

  18. 18

    从ui前端发送发布请求时,发布请求消息未在应用中显示

  19. 19

    向服务器发送请求时无效的JSON

  20. 20

    401向Web API发送Ajax请求时未经授权

  21. 21

    向PHP脚本发送请求时出现错误的符号

  22. 22

    向服务器发送请求时无效的JSON

  23. 23

    向PHP脚本发送请求时出现错误的符号

  24. 24

    向 WSO2 ESB 发送 POST 请求时出错

  25. 25

    子请求未发送或请求挂起

  26. 26

    如何从自己的自定义域向b2clogin域发送Web请求?

  27. 27

    浏览器向自己的服务器发送空请求

  28. 28

    如何在php-codeigniter中向RESTserver api发送发布请求?

  29. 29

    如何使用 nodejs 10x 向 aws lambda 中的外部 api 发送发布请求?

热门标签

归档