12个HTTP客户端和Web调试代理工具

开发人员和系统管理员的基本技能之一是调试应用程序、API或服务,并且了解正确的工具是救命稻草。

什么是调试?

如果你看过犯罪剧,那么调试的概念对你来说并不陌生。调试是一个过程,它涉及很多策略。它是在程序中找到和解决问题和错误的系统性过程。

此外,调试还可以解决可能影响软件或网页应用程序正确运行的所有问题。调试过程主要涉及尝试重现问题。

因此,需要发送一个API请求。现在问题就出现了。大多数浏览器都会阻止您更改原始头,并限制URL的大小。

换句话说,为了重现问题,您可能需要进行一些HTTP操作。这将需要一些强大的调试工具。

调试过程的所有组件或策略包括:

  • 交互式调试
  • 控制流分析
  • 单元测试
  • 集成测试
  • 日志文件分析
  • 监控
  • 内存转储
  • 性能分析

有趣的是,一些HTTP客户端(即Web浏览器)有内置的Web开发工具。这些工具可用于调试API。有了这个想法,就不必编写自己的调试工具。

什么是HTTP客户端?

假设您想构建一个利用HTTP协议进行分布式通信或HTTP感知的系统,比如Web应用程序。那么您可能需要查看HTTP客户端组件。

HTTP或超文本传输协议是您在输入URL时每次在Web上进行通信或传输数据的原因。它是一种使浏览互联网成为可能的应用协议。

现在,HTTP客户端是一个以HTTP文本格式向服务器发送请求的系统,并从同一服务器接收响应。

了解HTTP客户端和HTTP服务器之间的区别是很重要的。

HTTP客户端和服务器的区别

虽然HTTP客户端通常是Web浏览器或实用程序,但HTTP服务器充当应用服务器的代理。

简单来说,您的智能手机、电视、PlayStation或任何可以连接到互联网的设备可能都在使用HTTP客户端。

类似地,HTTP服务器是HTTP客户端连接到的网络计算机。它们之间的关系更像是对话。HTTP客户端发送请求,HTTP服务器响应。

HTTP请求的示例

请求 结果
GET 请求整个资源
HEAD 请求资源但不包含主体
POST 向现有网络资源添加内容
PUT 修改现有网络资源
DELETE 删除指定的资源
TRACE 显示对网络资源的更改
OPTIONS 显示URL的可用HTTP方法
CONNECT 将请求连接转换为透明的TCP/IP隧道
PATCH 部分修改网络资源

调试Web从未如此简单。有了这些工具,您终于可以在做自己喜欢的事情时放松了。

HTTPie

HTTPie的最终目标是使与Web服务进行CLI交互变得用户界面友好。该工具提供了一个HTTP命令,用于发送请求,所有这些请求都使用自然语法。

HTTPie可以用于调试、测试和连接HTTP服务器。它支持HTTP、HTTPS和代理。

亮点

  • 内置的JSON支持系统
  • 可在Windows、macOS和Linux上安装
  • 自定义HTTP头和方法
  • 提交表单
  • 离线模式
  • 基本和摘要身份验证
  • 直观的语法

不想在本地安装HTTPie?

别担心,现在你可以运行它online

Fiddler

Fiddler是一个跨平台的Web调试代理。它可以帮助操纵Web会话,检查HTTPS流量,并监视计算机与互联网之间的流量。

你可以在Windows、macOS和Linux上安装Fiddler。它可能是最受欢迎的调试流量工具。

RESTer

RESTer可作为Google Chrome和Firefox的扩展使用。

亮点

  • 使用基本或Auth2身份验证的授权头
  • 查看请求历史记录
  • 使用任何方法、URL、正文和自定义头部进行请求
  • 测试和调试API

Paw

Paw是一个功能齐全的HTTP客户端,允许您发送各种HTTP请求。使用Paw,您可以测试您的API并探索新的API。

Paw专为macOS专门构建,并具有易于使用的功能。您可以导入和生成swagger、RAML等,它支持JSON模式。

亮点

  • 支持基本、OAuth、hawk、摘要等多种身份验证
  • 动态值
  • 环境
  • 通过基于JavaScript的扩展进行扩展
  • Cookie和会话操作

Requester

Requester是一个强大的客户端,结合了HTTPie、Postman和Paw的功能。它只适用于Sublime Text编辑器。

亮点

  • 支持JSON方案
  • 请求集合和历史记录
  • 带有语法高亮的着色输出
  • 现代用户体验
  • 设置Cookie、自定义头部、请求正文和查询参数都很容易。
  • 支持GraphQL

Postman

总是在处理API?

你会爱上Postman。

Postman无疑是用于调试Web应用程序的较流行的HTTP客户端之一。它可以加快和简化API开发。

亮点

  • 带有强大的GUI和用户友好的界面
  • 请求历史记录
  • 使用集合运行器进行自动化测试
  • 灵活的API监控
  • 支持REST、GraphQL、SOAP
  • 支持多种有效载荷,包括JSON和HTML

cURL

cURL是一个用于使用URL语法发送数据的命令行工具。

好消息是,cURL默认安装在大多数UNIX风格的操作系统上。它支持多种协议,包括FTP、LDAP、POP3、SMTP、GOPHER、IMAP、HTTP、HTTPS和SCP。

Charles Proxy

正如其名,Charles proxy是一个HTTP和反向代理。它通过将本地流量路由到它来工作。

你可以使用Charles进行SSL代理、带宽限制、AJAX调试、断点等等。

Whistle

Whistle是一个基于NodeJS的跨平台调试工具,用于捕获和操纵HTTP、HTTPS、WebSocket和TCP流量。

首先,您需要使用npm安装install NodeJS和Whistle。

npm install -g whistle

如果默认功能不符合您的需求,您可以通过插件扩展功能。

mitmproxy

mitmproxy是安全研究人员中流行的开源HTTPS代理。它可以作为CLI、Web或Python API使用。

网页界面给你与Chrome开发者工具相同的外观和感觉。它还支持HTTP/2。

Proxyman

与上述提到的Paw类似,Proxyman是一款付费的原生macOS网页调试代理应用程序。

它作为网络流量的中间人,并提供许多功能,包括以下内容。

  • SSL代理
  • 重复请求
  • Protobuf
  • 重写脚本
  • 本地和远程地图
  • 内容过滤
  • 语法高亮

Proxyman的用户界面非常友好。

HTTP Toolkit

HTTP Toolkit是一款开源的HTTP调试工具。它是一个适用于Windows、Mac和Linux的桌面应用程序。

与其他HTTP调试工具不同,HTTP Toolkit提供了针对特定客户端的自动拦截功能,包括HTTPS设置,而不是拦截来自整个计算机的所有内容,因此避免捕获无关的流量或干扰其他应用程序。

通过点击一次,您可以拦截浏览器窗口(包括Chrome、Firefox等),后端/脚本语言(如Node.js、Python和PHP),任何命令行工具,Electron应用程序,或Android设备和模拟器(包括系统级HTTPS拦截)。

HTTP Toolkit支持标准的HTTP调试功能,包括断点和重写HTTP(S)流量,过滤和搜索收集到的流量,以及对许多常见请求和响应体格式进行高亮和自动格式化。截获、检查和重写HTTP(S)的核心功能都是免费提供的,而一些高级的付费功能,如导入/导出和自动化模拟规则,则需要付费账户。

结论

上述的HTTP客户端和网页调试代理可以在许多方面帮助您。它们中的大多数是免费的或提供试用版本,所以可以尝试其中一些看看哪些适合您。

愉快的 troubleshooting

类似文章