如何在flask中创建原始的http响应?

时间:2019-12-12 08:58:20

标签: python http flask

我正在开发一种具有TCP Server的软件,该服务器可以响应以专有协议完成的请求。

显然,该实现依赖于侦听固定端口并分析和管理原始请求和响应的套接字。

我应该在此服务中添加管理http请求的可能性。

我开始使用flask来管理模板渲染和响应创建,但是第二部分让我有些吃惊:

现在,我设法通过以下方式使该工作正常进行:

    with open(template_file) as f:
        template = f.read()
    app = flask.Flask('my app')  # create a context to render Response
    with app.app_context():
        context = {'title': 'mytitle', 
                'other_info':'.....',}
        rendered = flask.render_template_string(template, **context)
        response = flask.make_response(rendered)
        answer = f'''HTTP/1.0 200 OK\nContent-Type: text/html\n\n {rendered} \n\n'''
    sock.sendall(answer.encode())
    sock.close()

在这种情况下,make_response创建了一个Response实例,您可以在其中获取呈现的html代码,但是从Response到原始http却是我的问题。

为解决这个问题,我手动添加了标题,但我认为烧瓶中有一种更好的方法来执行此操作,但无法弄清楚。

使问题更笼统:flask Web应用程序如何与他人共存?我必须控制流程的哪一点?

0 个答案:

没有答案