【问题标题】:How to a get a continuous response from a REST server return in python flask with a single get request如何通过单个获取请求从 Python 烧瓶中的 REST 服务器返回获得连续响应
【发布时间】:2017-08-02 00:18:49
【问题描述】:

我们能否使用 python 从 REST 服务器获取一个连续的数据,用于单个 GET 请求。我目前正在使用烧瓶。

@app.route('/', methods = ['GET'])
def hello_world():
   while True:
     return 'Hello World!'

这将返回“Hello World!”一次,但我希望将字符串连续发送到客户端,直到服务器程序停止或按下硬件停止(CTRL+C)。甚至我很乐意在给定的时间内连续发送字符串或 XML。

【问题讨论】:

  • 您实际上想在这里解决什么问题?你能提供更多细节吗?这似乎是一个XY 问题。
  • 我有一台在 VM 中运行的服务器。所以使用 s_client (openssl),我从服务器获取了一些数据。现在对于每个请求,我们都会从服务器获得响应,但只有一次,我希望在单个 GET 请求中持续向客户端接收数据,直到我停止流

标签: python rest ssl flask https


【解决方案1】:

是的,有一种方法,但它不像 GET 那样简单。您必须构建后端 python 以异步工作并在没有请求的情况下发送更新。我见过的最好的方法是使用 socket.io:

socket.io

这里有一个教程,展示了一种提升您所询问的字符串数据的方法:

Easy Web Sockets

很难给你一个代码 sn-p 没有更多,因为短语“Hello World”是静态的,你不会看到变化,所以它没有用。但第二个链接向您展示了如何设置它以检测更改、确认连接/断开连接以及将数据从服务器提升到客户端。

如果您再次卡住,请使用真实代码和真实数据编辑帖子。

【讨论】:

    猜你喜欢
    • 2013-08-13
    • 1970-01-01
    • 2012-11-08
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-30
    相关资源
    最近更新 更多