Proxyman:现代本地Web调试代理工具
1. 简介
1.1 什么是Proxyman?
Proxyman是一款专为macOS设计的现代本地Web调试代理工具,它不仅支持macOS平台,还能无缝地与iOS和Android设备进行集成。作为一个网络调试工具,Proxyman的设计旨在提供高性能、直观且功能丰富的解决方案,使开发者能够深入网络层进行调试和问题解决。
Mac版下载地址:https://www.macappbox.com/a/proxyman.html
GitHub:https://github.com/ProxymanApp/Proxyman
1.2 使用场景
Proxyman适用于各种网络调试场景,包括拦截和检查HTTP/HTTPS请求和响应,支持WebSocket,并提供了多种高级调试工具,例如Breakpoint、Map Local、GraphQL调试等。无论是前端开发、后端开发还是移动应用开发,Proxyman都能为开发者提供强大的网络调试支持。
2. 特点
2.1 原生macOS应用
Proxyman采用Swift和Objective-C编写,是一款原生的macOS应用程序。这使得它能够充分发挥macOS平台的性能,并通过Apple SwiftNIO实现高性能网络应用程序,为用户提供流畅的体验。
2.2 全面支持Apple芯片
不论是M1、M2还是M3,Proxyman都提供全面的支持。这保证了在最新的Apple硬件平台上,Proxyman能够充分发挥其性能和功能,为用户提供高效的网络调试服务。
2.3 适用于macOS Ventura & Sonoma
Proxyman专为最新的macOS版本设计,充分利用了Ventura和Sonoma的特性。这意味着用户可以在最新的操作系统环境中充分体验Proxyman的功能,并确保与最新技术的兼容性。
2.4 无缝拦截HTTP/HTTPS请求和响应
Proxyman作为一个网络代理工具,能够无缝地拦截来自Web浏览器、iOS和Android设备的HTTP/HTTPS请求和响应。这为开发者提供了一种轻松的方式来检查应用程序和服务器之间的通信,有助于排查潜在的问题。
2.5 现代直观的用户界面
Proxyman具有现代、直观的用户界面,使得用户能够轻松进行调试和监控网络流量。直观的设计有助于用户快速上手,提高工作效率。
2.6 多个过滤器
为了更精确地定位所需信息,Proxyman提供了多个过滤器,用户可以根据协议、内容类型、URL、请求头、响应头、正文等复杂的条件进行过滤,以找到他们关心的数据。
3. 网络调试工具
3.1 基本调试工具
Proxyman提供了一系列基本调试工具,包括Compose、Repeat、Wildcard/Regex Filter、Customize Columns、Toolbar等,这些工具能够满足用户在日常调试中的基本需求。
3.2 高级工具
Proxyman的高级工具让用户可以更深入地调试网络流量。其中包括Breakpoint、Map Local、Map Remote、Blacklist、External Proxying、No Caching、Protobuf、Clear Cache、Custom Certificates、Scripting、Network Conditions、Reverse Proxy、Diff、Access Control、DNS Spoofing等。这些工具不仅可以修改请求和响应,还支持诸如自定义证书、脚本编写、网络条件模拟等高级功能。
3.3 自动设置后端开发
Proxyman能够自动捕获来自NodeJS、Ruby和Python等后端开发环境的HTTP(s)流量。这使得开发者在后端开发过程中能够轻松进行调试,提高开发效率。
4. 高级调试功能
4.1 GraphQL调试
Proxyman支持GraphQL调试,用户可以通过定义匹配规则与特定的GraphQL查询名称进行轻松调试。这为开发者在使用GraphQL时提供了更加便捷的调试手段。
4.2 脚本工具
对于那些觉得Breakpoint、Map Local GUI过慢的用户,Proxyman提供了脚本工具。用户可以使用JavaScript代码操纵请求/响应内容,加速调试过程。Proxyman提供了一系列Snippet Code、常用Add-ons和JS Libraries,使得脚本编写更加简便高效。
4.3 Breakpoint工具
Breakpoint工具是Proxyman中的一项重要功能,它允许用户在运行时即时修改请求和响应数据,而不需要改变任何客户端代码。这一功能支持修改URL、Headers、Body、Status Code、Raw Message等,为用户提供了更大的灵活性。
4.4 Map Local工具
Map Local工具允许开发者模拟响应,从而加速开发过程。通过直接修改响应的Status Code、Header和Body,开发者可以更加灵活地进行本地开发,无需等待后端的实际响应。
4.5 差异工具
Proxyman内置了差异工具,用户可以快速找出请求/响应之间的差异。支持Side-by-Side或Unified Display,并提供Light/Dark Github Theme,使得差异比对更加直观。
5. iOS/Android网络流量监测
Proxyman提供了易于遵循的说明,帮助用户捕获来自iOS/Android设备、模拟器和仿真器的HTTP流量。这使得用户能够轻松地监测移动应用的网络通信,有助于及时发现潜在问题。
6. 总结
总体而言,Proxyman是一款强大而全面的网络调试工具。其原生macOS支持、全面的Apple芯片兼容性、直观的用户界面和丰富的调试功能,使其成为开发者在网络调试方面的得力助手。无论是基本的HTTP请求/响应检查,还是复杂的GraphQL调试、脚本编写,Proxyman都提供了一套完整而灵活的解决方案。通过Proxyman,开发者能够更加轻松、高效地定位并解决网络问题,为他们的项目带来更好的开发体验。
相关文章:

Proxyman:现代本地Web调试代理工具
1. 简介 1.1 什么是Proxyman? Proxyman是一款专为macOS设计的现代本地Web调试代理工具,它不仅支持macOS平台,还能无缝地与iOS和Android设备进行集成。作为一个网络调试工具,Proxyman的设计旨在提供高性能、直观且功能丰富的解决…...
k8s中DaemonSet实战详解
一、DaemonSet介绍 DaemonSet 的主要作用,是在 Kubernetes 集群里,运行一个 Daemon Pod。DaemonSet 只管理 Pod 对象,然后通过 nodeAffinity 和 Toleration 这两个调度器参数的功能,保证了每个节点上有且只有一个 Pod。 二、Daem…...

信号处理设计模式
问题 如何编写信号安全的应用程序? Linux 应用程序安全性讨论 场景一:不需要处理信号 应用程序实现单一功能,不需要关注信号 如:数据处理程序,文件加密程序,科学计算程序 场景二:需要处理信…...

Linux权限的基本理解
一:🚩Linux中的用户 1.1🥦用户的分类 🌟在Linux中用户可以被分为两种用户: 超级用户(root):可以在Linux系统中做各种事情而不被约束普通用户:只能做有限的事情被权限约束 在实际操作时超级用户的命令提示符为#,普通用户的命令提示符为$,可…...

AI人工智能大模型讲师叶梓《基于人工智能的内容生成(AIGC)理论与实践》培训提纲
【课程简介】 本课程介绍了chatGPT相关模型的具体案例实践,通过实操更好的掌握chatGPT的概念与应用场景,可以作为chatGPT领域学习者的入门到进阶级课程。 【课程时长】 1天(6小时/天) 【课程对象】 理工科本科及以上࿰…...

nat地址转换
原理 将内网地址转换成外网地址 方式 掌握动态NAT的配置方法 掌握Easy IP的配置方法 掌握NAT Server的配置方法 实验 r1 r2 是内网 ar1 ip地址 ip add ip地址 掩码 ip route-static 0.0.0.0 0 192.168.1.254 默认网关 吓一跳网关 相等于设置了网关 ar2 …...
第12课 循环综合举例
文章目录 前言一、循环综合举例1. 质数判断问题2. 百人百砖问题3. 猴子吃桃问题4. 质因数分解问题5. 数字统计问题。 二、课后练习2. 末尾3位数问题3. 求自然常数e4. 数据统计问题5. 买苹果问题。6. 找5的倍数问题。 总结 前言 本课使用循环结构,介绍了以下问题的解…...

Tuxera NTFS for Mac2024免费Mac读写软件下载教程
在日常生活中,我们使用Mac时经常会遇到外部设备不能正常使用的情况,如:U盘、硬盘、软盘等等一系列存储设备,而这些设备的格式大多为NTFS,Mac系统对NTFS格式分区存在一定的兼容性问题,不能正常读写。 那么什…...
C++ 具名要求
此页面中列出的具名要求,是 C 标准的规范性文本中使用的具名要求,用于定义标准库的期待。 某些具名要求在 C20 中正在以概念语言特性进行形式化。在那之前,确保以满足这些要求的模板实参实例化标准库模板是程序员的重担。若不这么做…...

大创项目推荐 深度学习二维码识别
文章目录 0 前言2 二维码基础概念2.1 二维码介绍2.2 QRCode2.3 QRCode 特点 3 机器视觉二维码识别技术3.1 二维码的识别流程3.2 二维码定位3.3 常用的扫描方法 4 深度学习二维码识别4.1 部分关键代码 5 测试结果6 最后 0 前言 🔥 优质竞赛项目系列,今天…...

C++初阶——基础知识(函数重载与引用)
目录 1.命名冲突 2.命名空间 3.缺省参数 4.函数重载 1.函数重载的特点包括: 2.函数重载的好处包括: 3.引用 引用的特点包括 引用的主要用途包括 引用和指针 引用 指针 类域 命名空间域 局部域 全局域 第一个关键字 命名冲突 同一个项目之间冲…...

车载电子电器架构 —— 电子电气系统开发角色定义
车载电子电器架构 —— 电子电气系统开发角色定义 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 注:本文12000字,深度思考者进!!! 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的…...

最新Redis7哨兵模式(保姆级教学)
一定一定要把云服务器的防火墙打开一定要!!!!!!!!!否则不成功!!!!!!!!&…...

Redis原理及常见问题
高性能之道 单线程模型基于内存操作epoll多路复用模型高效的数据存储结构redis的单线程指的是数据处理使用的单线程,实际上它主要包含 IO线程:处理网络消息收发主线程:处理数据读写操作,包括事务、Lua脚本等持久化线程:执行RDB或AOF时,使用持久化线程处理,避免主线程的阻…...

nvm 的安装及使用 (Node版本管理器)
目录 1、nvm 介绍 2、nvm安装 3、nvm 使用 4、node官网可以查看node和npm对应版本 5、nvm安装指定版本node 6、安装cli脚手架 1、nvm 介绍 NVM 全称 node.js version management ,专门针对 node 版本进行管理的工具,通过它可以安装和切换不同版本的…...
【Yii2】数据库查询方法总结
目录 1.查找单个记录: 2.查找多个记录: 3.条件查询: 4.关联查询: 假设User模型有一个名为orders的多对一关联关系。 5.排序和分组: 6.数据操作: 7.事务处理: 8.命令查询: 9…...

区块链的三难困境是什么,如何解决?
人们需要保持社交、工作和睡眠之间的平衡,并且努力和谐相处。同样的概念也反映在区块链的三难困境中。 区块链三难困境是一个术语,指的是现有区块链的局限性:可扩展性、安全性和去中心化。这是一个存在了几十年的设计问题,其问题的…...

oCPC实践录 | oCPM的秘密
前言 笔者从这几方面介绍oCPM,并一一分析平台侧宣称的oCPM相比oCPC的优势,并解开其中的秘密。 1)什么是oCPM? 2)oCPC与oCPM的异同 3)平台宣称oCPM的优势 4)oCPM真正的秘密 5)oCPM下的点击率与…...

【Linux Shell学习笔记】Linux Shell的位置参数与函数
一、位置参数 位置参数,也被称之为位置变量,通过位置参数,可以在执行程序的时候,向程序传递数据 1.1 shell接收参数的方法 1.2 向shell传递参数的方法 二、函数 2.1 函数基础 2.1.1 函数简介 函数本质上就是一个代码块…...

缓存cache和缓冲buffer的区别
近期被这两个词汇困扰了,感觉有本质的区别,搜了一些资料,整理如下 计算机内部的几个部分图如下 缓存(cache) https://baike.baidu.com/item/%E7%BC%93%E5%AD%98 提到缓存(cache),就…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...