二:前端发送POST请求,后端获取数据
接着一:可以通过端口访问公网IP之后
二需要实现:点击飞书多维表格中的按钮,向服务器发送HTTP请求,并执行脚本程序
向服务器发送HTTP请求:
发送请求需要明确一下几个点
- 请求方法:
由于是向服务器端发送值,因此选择的是POST请求 - 请求的URL:
请求的url就是http://公网IP:port/doc
a. http不可以写成https,否则会报首次握手失败 - 查询参数:
查询参数通常是在URL末尾以?开头的,多个参数使用&连接
http://公网IP:port/doc?name=liming&age=30 - 请求头:
一般用于描述请求的格式,认证信息和缓存控制等
比如Authorization,Content-Type等
在终端,-H “Content-Type: application/json”
-H “Authorization: Bearer my_token” 形式存在 - 请求体:
客户端发送给服务器的数据部分,通常用于提交表单,发送JSON数据,上传文件等
请求头中包含请求体的格式比如application/JSON,text/plain,multipart/form-data,application/X-www-form-urlencoded等
后端如何get上述请求中传输的变量
HTTP以不同形式传入的参数使用的get方法也是不一样
使用Flask处理HTTP请求
- 获取查询参数request.args.get(‘[变量名]’)
get到的参数均是以字符串的形式存在
from flask import Flask, request
app = Flask(__name__)@app.route('/doc', methods=['POST'])
def api():# 获取查询参数name = request.args.get('name') # 通过 request.args 获取 URL 查询参数age = request.args.get('age')# 获取 POST 请求的 JSON 数据json_data = request.json # request.get_json() 也可以return {"query_params": {"name": name, "age": age}, "body": json_data}if __name__ == '__main__':app.run(debug=True)
使用windows中的终端尝试是否能够访问端口并打印出内容,如果少了一个参数可能会导致服务器返回500 Internal Server Error错误
curl -X POST "http://[公网IP]:[端口号]/doc?name=liming&age=30
- 获取请求头 request.headers.get()
user_agent = request.headers.get('User-Agent')
auth_token = request.headers.get('Authorization')
- 获取请求体
总结
request.json # 解析 JSON 数据
request.form # 解析表单数据(x-www-form-urlencoded)
request.files # 解析文件(multipart/form-data)
request.data # 读取原始请求体
a. Json请求体 request.json
在终端以
-d '{“name”: “Alice”, “age”: 25}'的形式存在
data = request.json #这一句即可获取请求体
b. 表单发送请求体 request.form.get()
-d “username=alice&password=123456”
username = request.form.get("username")password = request.form.get("password")
c.文件上传请求体
-F “file=@image.jpg”
file = request.files['file'] # 获取上传的文件file.save(f"./uploads/{file.filename}")
客户端向服务器发送HTTP请求
第一种方式:requests请求,适合API请求
- 发送请求
import requestsurl = "http://example.com/api"
headers = {"Content-Type": "application/json"}
data = {"key": "value"}response = requests.request("POST", url, headers=headers, json=data)
print(response.json()) # 解析 JSON 响应
这种返回的是response.Response对象
可以通过方法返回想要得到的内容
response.status_code # 例如 200(成功)、400(请求错误)、500(服务器错误)
response.headers #服务器返回的HTTP的头部信息
response.text #以字符串的形式获取相应内容
response.content #以字节流的形式获取相应内容
如果返回的是JSON数据
data = response.json() # 解析 JSON 数据
data = response.json().get('data') # 从json中提取data字段的值,不会报错
.json()用于解析服务器返回的json数据,转化为python字段
.get(‘data’)从解析后的JSON字段中获取data字段的值
第二种方式http.client适用于底层的HTTP处理
import http.client
import jsonconn = http.client.HTTPSConnection("example.com") # 需要指定域名
headers = {"Content-Type": "application/json"}
payload = json.dumps({"key": "value"}) # 需要手动转换为 JSON 字符串conn.request("POST", "/api", payload, headers)
res = conn.getresponse()
data = res.read().decode("utf-8") # 需要手动解码print(data) # 这里是字符串,需要再用 json.loads(data) 解析
区别:
相关文章:

二:前端发送POST请求,后端获取数据
接着一:可以通过端口访问公网IP之后 二需要实现:点击飞书多维表格中的按钮,向服务器发送HTTP请求,并执行脚本程序 向服务器发送HTTP请求: 发送请求需要明确一下几个点 请求方法: 由于是向服务器端发送值…...

单机上使用docker搭建minio集群
单机上使用docker搭建minio集群 1.集群安装1.1前提条件1.2步骤指南1.2.1安装 Docker 和 Docker Compose(如果尚未安装)1.2.2编写docker-compose文件1.2.3启动1.2.4访问 2.使用2.1 mc客户端安装2.2创建一个连接2.3简单使用下 这里在ubuntu上单机安装一个m…...

安全生产月安全知识竞赛主持稿串词
女:尊敬的各位领导、各位来宾 男:各位参赛选手、观众朋友们 合:大家好~ 女:安全是天,有了这一份天,我们的员工就会多一份幸福, 我们的企业就会多一丝光彩。 男:安全是地,有了这一片地,我们的员工就多了一…...
C++的设计模式
1. 创建型模式 单例模式 (Singleton) 意图:确保类仅有一个实例,并提供全局访问点。(常见的日志类)实现:class Singleton { private:static Singleton* instance;Singleton() {} // 私有构造函数 public:static Singl…...

C++手撕AVL树
C手撕AVL树 1、AVL树的概念2、AVL树的结构3、AVL树的插入3.1、大概过程3.2、更新平衡因子3.3、更新平衡因子代码3.4、左单旋3.5、右单旋3.6、右左双旋3.7、左右双旋 4、AVL树的删除5、AVL树的查找6、AVL树的平衡检测7、AVL树的其他函数完整代码 1、AVL树的概念 二叉搜索树虽可…...

写大论文的word版本格式整理,实现自动生成目录、参考文献序号、公式序号、图表序号
前情提要:最近开始写大论文,发现由于内容很多导致用老方法一个一个改的话超级麻烦,需要批量自动化处理,尤其是序号,在不断有增添删减的情况时序号手动调整很慢也容易出错,所以搞一个格式总结,记…...

Redission可重试、超时续约的实现原理(源码分析)
Redission遇到其他进程已经占用资源的时候会在指定时间waitTime内进行重试。实现过程如下: 执行获取锁的lua脚本时,会返回一个值, 如果获取锁成功,返回nil,也就是java里的null 如果获取锁失败,用语句“PT…...
java八股文-消息队列
一、MQ基础篇 1. 什么是消息队列? 消息队列(MQ)是分布式系统中实现异步通信的中间件,解耦生产者和消费者。 2. 使用场景有哪些? 异步处理(如注册后发送邮件)系统解耦(不同服务通过…...

3分钟idea接入deepseek
DeepSeek简介 DeepSeek 是杭州深度求索人工智能基础技术研究有限公司开发的一系列大语言模型,背后是知名量化资管巨头幻方量化3。它专注于开发先进的大语言模型和相关技术,拥有多个版本的模型,如 DeepSeek-LLM、DeepSeek-V2、DeepSeek-V3 等&…...
【DeepSeek与鸿蒙HarmonyOS:开启应用开发新次元】
引言:科技融合的新曙光 在当今数字化浪潮中,DeepSeek 和鸿蒙 HarmonyOS 宛如两颗璀璨的明星,各自在人工智能和操作系统领域熠熠生辉。DeepSeek 以其强大的大模型能力,在自然语言处理、代码生成等多个领域展现出卓越的性能&#x…...

基于光度立体视觉的三维重建方法
基于光度立体视觉的三维重建方法 一、三维重建概述二、光度立体原理简介三、Halcon:光度立体实验1.四张测试原图2.结果图3.Halcon实验代码 四、相关参考 光度立体视觉通过多角度的光源激励,获取多个不同光照方向下的表面图像,从中重建表面法向࿰…...

在VSCode中接入deepseek
注册就送14元2000万tokens。 https://cloud.siliconflow.cn/i/rnbA6i6U各种大模型 下面介绍我是如如接入vscode的 左边生成一个key,呆会vscode要用,不然401. 打开vscod,电脑能上网。下插件。 下好要配置 点它一下。 要配置,全…...
DeepSeek掘金——VSCode 接入DeepSeek V3大模型,附使用说明
VSCode 接入DeepSeek V3大模型,附使用说明 由于近期 DeepSeek 使用人数激增,服务器压力较大,官网已 暂停充值入口 ,且接口响应也开始不稳定,建议使用第三方部署的 DeepSeek,如 硅基流动 或者使用其他模型/插件,如 豆包免费AI插件 MarsCode、阿里免费AI插件 TONGYI Lin…...

申请SSL证书,如何完成域名验证
一、前言 给大家分享一下Lets Encrypt 证书申请时,如何完成域名验证这一步操作的方法。 二、为什么要进行域名验证 申请SSL证书时进行域名验证的主要原因是确保证书只颁发给有权控制特定域名的实体。这是为了保证互联网的安全性和信任,防止恶意方获取不…...

HTTP实验(ENSP模拟器实现)
HTTP概述 HTTP(HyperText Transfer Protocol,超文本传输协议),设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 HTTP定义了多种请求方法,常用的包括: GET:请求资源。 POST&…...

AI工具评论
deepseek(一系列接入R1的工具如:元宝、纳米、C知道、qq浏览器、百度AI、小艺...,应该都是R1满血版吧...) kimi 豆包 ------ chatGPT Grok3 cursor github copilot https://zhuanlan.zhihu.com/p/21161495794https://zhuan…...
comfy UI节点缺失dlib库处理
安装出现dlib错误: [!] ERROR: Failed building wheel for dlib Failed to build dlib 依赖环境:python3.12 comfyui 最新版本 pip install dlib 出现错误 直接下代码编译 编译为:dlib-19.24.99-cp312-cp312-win_amd64.whl 下载地址&am…...

STM32 HAL库I2C函数使用详解:以MPU6050传感器为例
引言 I2C(Inter - Integrated Circuit)由Philips公司开发的一种简单、双向二线制串行通信协议。它只需要两根线即可在连接于总线上的器件之间传送信息,主要用于短距离、低速的数据传输,广泛应用于各种传感器、存储器等设备的通信中…...

四步彻底卸载IDEA!!!
各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连,小编尽全力做到更好 欢迎您分享给更多人哦 大家好,我们今天来学习四步彻底卸载IDEA!!! 首先我要提醒各位 如果你想删除 IDEA 相关…...

vue3 背景虚化,文字高亮效果
效果: 组件代码: <template><div :style"styleComputed" class"background-blurring"><div class"mask"></div><div :style"styleComputed" class"blurring-text">background</div>&l…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...