Python http打印(http打印body)flask demo(http调试demo、http demo、http printer)

文章目录

    • 代码
    • 解释

代码

# flask_http_printer.pyfrom flask import Flask, request, jsonify
import jsonapp = Flask(__name__)@app.route('/printinfo', methods=['POST'])
def print_info():# 分隔符separator = "-" * 60# 获取请求头headers = request.headers# 获取 JSON bodybody = request.get_json()# 打印分隔符print(separator)# 美化打印请求头print("Headers:")print(json.dumps(dict(headers), indent=4, ensure_ascii=False))# 美化打印 JSON bodyprint("Body:")print(json.dumps(body, indent=4, ensure_ascii=False))# 再次打印分隔符以结束本次打印print(separator)return jsonify({"status": "信息已打印"}), 200if __name__ == '__main__':app.run(host='0.0.0.0', port=27751, debug=True)

在这里插入图片描述

解释

这段 Flask 应用代码定义了一个简单的 HTTP POST 接口,其主要功能是接收 JSON 格式的数据并将相关信息打印出来,用于调试或监控目的。下面逐部分解释代码:

  1. 导入必要的库

    • from flask import Flask, request, jsonify: 导入 Flask 框架的基本组成部分(没有安装flask需要先安装:pip install flask),Flask 用于创建应用,request 用于处理传入的请求数据,jsonify 用于返回 JSON 响应。
    • import json: 导入 Python 的 json 库,用于处理 JSON 数据的美化打印。
  2. 创建 Flask 应用实例

    • app = Flask(__name__): 创建一个 Flask 应用实例。
  3. 定义路由和视图函数

    • @app.route('/printinfo', methods=['POST']): 通过装饰器定义一个路由 /printinfo,仅接受 POST 方法的请求。
    • def print_info(): 定义处理请求的视图函数。
  4. 在视图函数中打印信息

    • separator = "-" * 60: 定义一个分隔符,由 60 个连字符组成,用于在控制台输出中分隔不同的请求信息。
    • headers = request.headers: 获取请求的所有头部信息。
    • body = request.get_json(): 尝试解析请求的 JSON 主体内容。
  5. 美化并打印获取的数据

    • 打印分隔符,隔开前一个请求的打印结果。
    • 使用 json.dumps() 方法以 JSON 格式美化并打印请求头,其中 indent=4 表示每个级别缩进四个空格,ensure_ascii=False 允许直接打印非 ASCII 字符(例如中文)。
    • 以同样的方式美化并打印请求体。
    • 再次打印分隔符表示本次请求的结束。
  6. 返回响应

    • return jsonify({"status": "信息已打印"}), 200: 返回一个 JSON 格式的响应,包含状态信息,HTTP 状态码为 200,表示请求已成功处理。
  7. 运行应用

    • if __name__ == '__main__': 确保只有在直接运行这个脚本时才会执行 app.run()
    • app.run(host='0.0.0.0', port=27751, debug=True): 启动应用,监听所有可用的 IP 地址 (0.0.0.0) 上的 27751 端口。开启调试模式,以便于开发和调试过程中实时重载及提供调试信息。
  8. 支持跨域请求

    • 如果想要接口支持跨域请求,需要安装 Flask-CORS:
      • 使用 pip 安装 Flask-CORS:
        pip install flask-cors
        
      • 修改 Flask 应用代码以引入和使用 Flask-CORS: 更新你的 app.py 文件来引入并使用 Flask-CORS 扩展:
        from flask_cors import CORS  # 导入 CORSCORS(app)  # 启用 CORS 支持,对所有域名开放
        
        在这里插入图片描述

这个代码用于开发和测试阶段,帮助开发者查看和验证发送到 /printinfo 端点的请求内容。调试模式开启时不应用于生产环境,因为它会显示敏感的错误信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/467199.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从无音响Windows 端到 有音响macOS 端实时音频传输播放

以下是从 Windows 端到 macOS 端传输音频的优化方案,基于上述链接中的思路进行调整: Windows 端操作 安装必要软件 安装 Python(确保版本兼容且已正确配置环境变量)。安装 PyAudio 库,可通过 pip install pyaudio 命令…

用 Python 从零开始创建神经网络(二)

用 Python 从零开始创建神经网络(二) 引言1. Tensors, Arrays and Vectors:2. Dot Product and Vector Additiona. Dot Product (点积)b. Vector Addition (向量加法) 3. A Single Neuron with …

python爬虫自动库DrissionPage保存网页快照mhtml/pdf/全局截图/打印机另存pdf

目录 零一、保存网页快照的三种方法二、利用打印机保存pdf的方法 零 最近星球有人问如何使用页面打印功能,另存为pdf 一、保存网页快照的三种方法 解决方案已经放在星球内:https://articles.zsxq.com/id_55mr53xahr9a.html当然也可以看如下代码&…

现代Web开发:WebSocket 实时通信详解

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 现代Web开发:WebSocket 实时通信详解 现代Web开发:WebSocket 实时通信详解 现代Web开发:WebS…

Hadoop完全分布式环境搭建步骤

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 大数据与数据分析_夏天又到了的博客-CSDN博客 本文介绍Hadoop完全分布式环境搭建方法,这个Hadoop环境用于安装配置Spark。假设读者已经安装好Visual Box 7.0.6虚拟环境与一个CentOS 7虚拟机(如果…

133.鸿蒙基础01

鸿蒙基础 1.自定义构建函数1. 构建函数-[Builder ](/Builder )2. 构建函数-传参传递(单向)3. 构建函数-传递参数(双向)4. 构建函数-传递参数练习5. 构建函数-[BuilderParam ](/BuilderParam ) 传递UI 2.组件状态共享1. 状态共享-父子单向2. 状态共享-父子双向3. 状态共享-后代组…

如何保证kafka生产者数据可靠性

ack参数的设置: 0:生产者发送过来的数据,不需要等数据落盘应答 假如发送了Hello 和 World两个信息,Leader直接挂掉,数据就会丢失 生产者 ---> Kafka集群 一放进去就跑 数据可靠性分析:丢数 1&#…

业务模块部署

一、部署前端 1.1 window部署 下载业务模块前端包。 (此包为耐威迪公司发布,请联系耐威迪客服或售后获得) 包名为:业务-xxxx-business (注:xxxx为发布版本号) 此文件部署位置为:……

后台管理系统窗体程序:文章管理 > 文章列表

目录 文章列表的的功能介绍: 1、进入页面 2、页面内的各种功能设计 (1)文章表格 (2)删除按钮 (3)编辑按钮 (4)发表文章按钮 (5)所有分类下拉框 &a…

Windows10/11开启卓越性能模式 windows开启卓越性能电源模式 工作电脑开启卓越性能模式 电脑开启性能模式

Windows10/11开启卓越性能模式 windows开启卓越性能电源模式 工作电脑开启卓越性能模式 电脑开启性能模式 1、所要用到的激活工具2、开启电脑卓越性能模式Windows11Windows10在电源模式中选择卓越性能模式 3、将系统版本切换为 工作站版本 1、所要用到的激活工具 KMS激活工具(…

D62【python 接口自动化学习】- python基础之数据库

day62 SQL 基础 学习日期:20241108 学习目标:MySQL数据库-- 131 SQL基础和DDL 学习笔记: SQL的概述 SQL语言的分类 SQL的语法特征 DDL - 库管理 DDL - 表管理 总结 SQL是结构化查询语言,用于操作数据库,通用于绝大…

计算机图形学 实验二 三维模型读取与控制

目录 一、实验内容 二、具体内容 (在实验2.3的基础上进行修改) 1、OFF格式三维模型文件的读取 2、三维模型的旋转动画 3、键盘鼠标的交互 4、模型的修改 三、代码 一、实验内容 读取实验提供的off格式三维模型,并对其赋色。利用鼠标和键盘的交互&#xff0…

Redis 中 Bitmap 原理和应用

Bitmap Redis中的Bitmap(位图)是一种较为特殊数据类型,它以最小单位bit来存储数据,我们知道一个字节由 8个 bit 组成,和传统数据结构用字节存储相比,这使得它在处理大量二值状态(true、false 或…

Springboot3.3.5 启动流程(源码分析)

一图搞懂 SpringBoot 启动流程(清晰明了): createWebServer (ServletWebApplicationContext)流程 finishBeanFactoryInitialization(ServletWebApplicationContext)Bean装配流程 真正干活的&am…

CSS实现图片3D立体效果

概述 本文主要讲述如何通过 CSS 简单的设置就可以实现图片的 3D 立体效果。 3D 立体效果 当鼠标移入某一个图片上时,其余图片会像该图片倾斜。 具体实现 静图如下: 倒影效果图片会有一个倒影效果,其代码如下: <style>img {-webkit-box-reflect: below 1px linea…

java: 无法访问org.springframework.web.bind.annotation.RequestMapping

一、报错问题 java: 无法访问org.springframework.web.bind.annotation.RequestMapping 二、原因分析 SpringBoot使用了3.0或者3.0以上&#xff0c;因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17。所以仅需要将SpringBoot版本降低为3.0以下即可&#xff08;或…

Node.js:Express 服务 路由

Node.js&#xff1a;Express 服务 & 路由 创建服务处理请求req对象 静态资源托管托管多个资源挂载路径前缀 路由模块化 Express是Node.js上的一个第三方框架&#xff0c;可以快速开发一个web框架。本质是一个包&#xff0c;可以通过npm直接下载。 创建服务 Express创建一…

知识中台赋能法律咨询服务:八大核心优势

法律咨询服务领域&#xff0c;知识中台以其独特的功能和优势&#xff0c;为行业发展注入了新的活力。以下是知识中台在法律咨询服务中展现的八大核心优势&#xff1a; 一、法律知识资源的全面整合 知识中台致力于收集、整理和整合各类法律知识资源&#xff0c;包括法律法规、…

【青牛科技】GC5931:工业风扇驱动芯片的卓越替代者

在工业领域&#xff0c;工业风扇的稳定高效运行对于维持良好的生产环境至关重要。而驱动芯片作为工业风扇控制系统的核心元件&#xff0c;其性能直接影响风扇的工作状态。芯麦 GC5931 作为一款新型驱动芯片&#xff0c;在替代 A5931/Allegro 应用于工业风扇中展现出了非凡的优势…

使用Netty实现一个简单的聊天服务器

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;Netty &#x1f96d;本文内容&a…