一些POST的小总结

写在前面

近期要写一些后端相关的代码,前端采用POST调用后端服务。

在此之前,本人并不知道POST是一个什么东西,本文将简单对POST进行介绍,并提供一个简短的POST样例

感谢ChatGPT,我是被ChatGPT教会的(这不比Google好得多)

什么是POST

POST请求是一种网络请求方法,用于向服务器发送数据。它通常用于提交表单数据或上传文件。

当一个POST请求发送到服务端时,服务端将会执行一系列的运行,并返回一些数据。

可以看下文中的代码

POST服务端

要实现POST调用,首先得架一个服务端,我们可以首先编写下面的Python代码

1 from flask import Flask, request
2 app = Flask(__name__)
3 
4 @app.route('/path', methods=['POST'])
5 def receive_data():
6     name = request.form['name']
7     value = request.form['value']
8     print(name, value)
9     return 'Data received'

这段代码的含义是:将receive_data()用来映射到一个 URL 路径上(比如/path)

receive_data()的含义为:从中读取出name和value,然后在服务端打印出来,并返回一个固定的字符串

编写完毕后,保存为service.py。

启动服务并非直接运行这段代码,而是通过一些技巧运行

我是在windows下运行的,我们可以用一个bat来保存启动命令

set FLASK_APP=service.py
flask run --host=0.0.0.0

注意:需要pip instal flask,否则可能无法使用

随后服务端就运行起来了,大概长这样

 

POST客户端

我们现在部署了POST服务端,然后还要编写客户端的代码,以下是一个简单的客户端代码

import requests
url = 'http://172.20.10.4:5000/path'
data = {'name':'John', 'value':'30'}
headers = {'Content-type': 'application/json'}

response = requests.post(url, data=data)
print(response.text)

注意这个url,它是会变的(详见上面的Running on http://)

运行

这个代码直接运行就可以了

客户端代码会得到下列输出

服务端代码会得到下列输出

 

花絮

下面是笔者和ChatGPT交互的记录

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-01-20 22:27  AlphaInf  阅读(164)  评论(0编辑  收藏  举报