• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Flask实现POST请求

武飞扬头像
三千院本院
帮助1

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)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggfakg
系列文章
更多 icon
同类精品
更多 icon
继续加载