[python、flask] - POST请求

本文介绍了如何使用Python的Flask框架处理来自微信小程序的POST请求数据,以及如何从Python客户端发送JSON格式的POST请求到Flask服务器进行数据转发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 微信小程序POST传递数据给flask服务器

  • 小程序端
// 提交POST数据
import { request } from "../../request/index.js"
  async handleDetectionPoints() {
    let params = {
      url: "/detect_points",
      data: {
        "points": arr,
        "img_name": this.canvasConfig.imgName
      },
      header: {},
      method: "POST"
    }
    let res = await request(params)
    console.log(res)
  }
  • 上面用到的request函数
// request/index.js

let ajaxTimes = 0

export const baseURL = "http://192.168.0.106:5000";

export const request = params => {
  let header = { ...params.header
  }
  ajaxTimes++;

  wx.showLoading({
    title: '加载中',
    mask: true
  })

  // 定义公共的URL
  params.url = baseURL + params.url

  return new Promise((resolve, reject) => {
    wx.request({
      ...params,
      header,
      success: result => {
        resolve(result)
      },
      fail: err => {
        reject(err)
      },
      complete: () => {
        ajaxTimes--
        if (ajaxTimes == 0) {
          wx.hideLoading()
        }
      }
    })
  })
}
  • flask端接收POST请求数据
from falsk import Flask, request

app = Flask(__name__)
@app.route("/detect_points", methods=["POST"])
def detect_points():
	print(request.json.get("points"))
	print(request.json.get("img_name"))
	return {
	  "msg": "ok"
	}

if __name__ == "__main__":
	app.run(host="192.168.0.106", port=5000)

在这里插入图片描述

2. python发送post数据给flask服务器

  • 拿上面的flask做为代理转发POST请求(JSON格式发送)
import json
@app.route("/detect_points", methods=["POST"])
def detect_points():
	payload = json.dumps({
		"points": request.json.get("points"),
		"img_name": request.json.get("img_name")
	})
	r = request.post("http://192.168.0.106:8888/detect_points")
	print(r.text)
	return{
		"msg": "ok"
	}
  • 接收JSON格式POST数据的服务端
from flask import Flask, request
import json

app = Flask(__name__)



@app.route("/detect_points", methods=["POST"])
def hello_world():
    print("来自5000")
    data  = request.get_data()
    print(data)
    data = json.loads(data.decode("utf-8"))
    print(data["img_name"])
    print(data["points"])

    return "Hello Marron1"



if __name__ == "__main__":
    app.run(host="192.168.0.106", port=8888)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值