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)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值