0


Flask实现POST请求

1、被请求代码封装,得到一个封装路径,即所谓的接口

# 导入对应包
from flask import Flask, request
from flask_cors import CORS
import json

# flask格式
app = Flask(__name__)
CORS(app, supports_credentials=True)
# 解决浏览器输出乱码问题
app.config['JSON_AS_ASCII'] = False
# 满足get和post请求
@app.route("/flask", methods=["GET","POST"])

# 代码区域
def new_flask():
    # 接收请求数据★★★
    def form_or_json():
            if request.get_json(silent=True):
                return request.get_json(silent=True)
            else:
                if request.form:
                    return request.form
                else:
                    return request.args
    data = form_or_json()
    query_zero =data['text']
     
    # 代码功能处理数据区域 (对 query_zero 进行处理)
    
    # 一定要返回值,且请求格式为 list 格式,不然请求端格式读取不出来
    # return (list)
    return ...
    
if __name__ == '__main__' :
    app.run("0.0.0.0", "5001", debug=True)

2、当请求测试路径需要传入参数的时候,即去请求1中封装好的接口

# 传递数据的请求
import json                # 用于json.dumps()转换文本格式
import requests            # 请求包

# 不同的请求路径
# REQUEST_URL = "http://127.0.0.1:5001/..."        # 本地服务 ...为app.route路径
REQUEST_URL = "http://10.1.0.247:5001/..."        # 服务器服务 ...为app.route路径
HEADER = {'Content-Type':'application/json; charset=utf-8'}

# 测试实现直接在终端输入文字,可取消注释自行实验一下,但需要将下一句赋值注释
# requestDict = {}
# requestDict["text"] = input("请输入文本:")

# 将文本直接赋值
requestDict = {"text": "昨天杭州的天气真是一般,以至于都不能出门玩,下着很大的雨"}

# 实现请求功能
rsp = requests.post(REQUEST_URL, json.dumps(requestDict), headers=HEADER)
rspJson = json.loads(rsp.text.encode())
print(rspJson)


说明:

# post请求格式
request.post(url, data, json, kwargs)

post请求传参分为两种
(1)表单(x-www-form-urlencoded)
(2)json(application/json)
data参数支持字典格式和字符串格式,字典格式用json.dumps()方法把data转换为合法的json格式字符串,此方法需要导入json模块

1、故json类型的post请求为

# json类型的post请求
import requests
url = "https://editor.net/"
data = '{"key": "value"}' # 字符串格式
resp = requests.post(url, data=data)
print(resp.text)

2、使用字典格式填写参数,传递时转换为json格式

# json.dumps()方法转换
import requests
import json
url = "https://editor.net/"
data = {"key": "value"}
resp = requests.post(url, data=json.dumps(data))
print(resp.text)

3、将字典格式的data数据赋给post方法的json参数

import requests
import json
url = "https://editor.net/"
data = {"key": "value"}
resp = requests.post(url, json=data)
print(resp.text)
标签: flask python

本文转载自: https://blog.csdn.net/weixin_42225889/article/details/131371440
版权归原作者 三千院本院 所有, 如有侵权,请联系我们删除。

“Flask实现POST请求”的评论:

还没有评论