Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 除了使用Flask提供文件外,您如何提供其他内容?_Python_Python 2.7_Python 3.x_Http_Flask - Fatal编程技术网

Python 除了使用Flask提供文件外,您如何提供其他内容?

Python 除了使用Flask提供文件外,您如何提供其他内容?,python,python-2.7,python-3.x,http,flask,Python,Python 2.7,Python 3.x,Http,Flask,这个任务可能看起来有点愚蠢,因为我才刚刚开始掌握HTTP。据我所知,HTTP是一种通信协议,这意味着两台计算机可以使用它进行通信。然而,在互联网上,似乎所有的HTTP服务器都在提供文件。我可以制作一个flask服务器,它不提供文件服务,只通过HTTP与客户机通信吗 我可以制作一个flask服务器,它不提供文件服务,只通过HTTP与客户机通信吗 我的理解是,当你在一个“正常”的web请求中收到一个“文件”时,真正发生的事情是你正在接收一个HTTP响应(就像一个文本文件),HTTP响应包含一个状态码

这个任务可能看起来有点愚蠢,因为我才刚刚开始掌握HTTP。据我所知,HTTP是一种通信协议,这意味着两台计算机可以使用它进行通信。然而,在互联网上,似乎所有的HTTP服务器都在提供文件。我可以制作一个flask服务器,它不提供文件服务,只通过HTTP与客户机通信吗

我可以制作一个flask服务器,它不提供文件服务,只通过HTTP与客户机通信吗

我的理解是,当你在一个“正常”的web请求中收到一个“文件”时,真正发生的事情是你正在接收一个HTTP响应(就像一个文本文件),HTTP响应包含一个状态码(你似乎认为这是真正的HTTP),一个“内容”部分,其中包含“文件”的文本,HTTP响应中还有一行指定接收方计算机应如何解释“内容”部分的内容(例如,JSON、纯文本、HTML或XML等)。该行通常类似于
内容类型:text/html

在您的情况下,只需在内容部分留空时指定状态代码

由于您不发送任何内容,您可能会认为您希望在HTTP响应中指定“null”内容类型,但是。然而,将内容类型设置为什么并不重要,因为您不会填写任何内容。我看到的一件事是将其设置为
text/plain
application/json


如果要向用户发送结构化数据,通常的方法是将其作为JSON发送。因此,您可以将
内容类型
指定为
应用程序/json
,然后将响应的主体(“内容”)格式化为

下面是一个执行此操作的Flask代码示例:

@app.route('/get_current_user')
def get_current_user():
    return jsonify(
        username=g.user.username,
        email=g.user.email,
        id=g.user.id
    )

来源:

你是在问是否可以只返回文本吗?有点像,我想发送的文本不是文件,而是变量。如果你想了解web服务器的工作原理,你可能会发现这一系列文章很有趣。以Python为例。是的,你是对的,我把那边的页面和文件搞混了,这个问题现在确实很荒谬,但我有了一个解决方案,可以用另一种方式解决问题,所以我想我会删除或编辑这个问题。谢谢,但这只解决了部分问题,如何在不将数据保存在文件中的情况下发送数据。我已更新了答案,其中包括如何通过HTTP请求发送结构化数据的说明。通常的方法是将数据格式化为JSON。