Flask——基本前后端数据传输示例

文章目录

      • [步骤1: 使用 `requests` 发送 JSON 数据](#步骤1: 使用 requests 发送 JSON 数据)
      • [步骤2: 使用 Flask 接收并反序列化 JSON 数据](#步骤2: 使用 Flask 接收并反序列化 JSON 数据)

要实现您的需求,我们可以通过两个步骤来完成:首先,使用 Python 的 requests 库发送 JSON 格式的数据;其次,使用 Flask 框架在服务器端接收这些数据并将其反序列化为字典格式。

步骤1: 使用 requests 发送 JSON 数据

要发送 JSON 数据,您可以使用 requests 库的 post 方法。首先确保您已经安装了 requests 库。如果没有安装,可以使用 pip 安装:

bash 复制代码
pip install requests

然后,使用以下代码发送 JSON 数据:

python 复制代码
import requests

# 要发送的数据
data = {'key': 'value'}

# 目标服务器的URL
url = 'http://yourserver.com/api'

# 发送POST请求
response = requests.post(url, json=data, data=None, files=None)

# 打印响应内容
print(response.text)

步骤2: 使用 Flask 接收并反序列化 JSON 数据

在服务器端,您可以使用 Flask 框架来接收和处理 JSON 数据。首先确保您已经安装了 Flask。如果没有安装,可以使用 pip 安装:

bash 复制代码
pip install Flask

接下来,使用以下 Flask 应用程序代码来接收 JSON 数据并将其反序列化为字典:

python 复制代码
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/api', methods=['POST'])
def receive_data():
    # 获取JSON数据并将其转换为字典
    data = request.get_json()
    
    # 假设我们只是打印接收到的数据
    print(data)
    
    # 反馈一个简单的确认信息
    return jsonify({'status': 'received'})

if __name__ == '__main__':
    app.run(debug=True)

在这个 Flask 应用中,我们定义了一个路由 /api,它接受 POST 请求。使用 request.get_json() 方法来获取发送的 JSON 数据并自动将其转换为 Python 字典。然后,我们简单地打印这个字典并返回一个确认信息。

确保更改 url 变量的值以指向您的 Flask 应用的正确地址。这样,当您运行客户端脚本发送数据时,Flask 服务器将接收这些数据并按照您的需求处理它们。

相关推荐
艾灸爱好者19 分钟前
艾草精油专业制造商哪3点决定品质高低?
python·1024程序员节
weixin_4404016932 分钟前
大数据技术-人工智能编程题
大数据·人工智能·python·1024程序员节
“AI国潮设计-小江”1 小时前
AIGC实战:Python+SDXL批量生成英歌舞IP立牌,解锁猪猪蛋糕“反差萌”流量密码(附完整API源码)
开发语言·人工智能·python·prompt·aigc
GISer_Jing1 小时前
营销活动低代码前后台方案
后端
成信吴彦祖1 小时前
当前专业的无人机RID侦测主站供应商主要有哪些
python·1024程序员节
编程的一拳超人2 小时前
【元宝搜索开发者征文大赛】四语实战:Java/Python/Go/Node.js 构建 AI 搜索应用全攻略
java·python·golang·node.js·agent
fanruitian2 小时前
python anaconda jupyter notebook
python
IT_陈寒2 小时前
React项目实战经验分享:如何避免useEffect闭包陷阱导致的陈旧状态问题?
前端·人工智能·后端
云和数据.ChenGuang2 小时前
Python 菜鸟入门:字典(dict)类型详解与 CRUD 实战案例
开发语言·人工智能·python
Maynor9962 小时前
免费 Cloudflare 只有 10 个 D1?满了之后的「穷鬼打法」:表前缀复用同一个库
数据库·后端·云计算·cloudflare