我正在调查两个 Web 服务器之间的行为差异。我需要查看来自服务器的原始响应数据(即,如果响应具有“Transfer-Encoding:chunked”,则在响应解块之前查看;如果响应具有“Content-Encoding:gzip”,则在响应解压缩之前查看)。
我可以找到很多几乎可以满足我需求的简单 HTTP 客户端(例如 Poster、RESTClient),但它们对响应的解码往往有些过头了。
Wireshark 等网络分析仪可以满足我的需求,但有点太重了。Telnet 是我目前最好的选择,但有点太简单了(捕获数据或输入请求等操作有点费力)。
有人能推荐一个好的、轻量级的工具来发送/查看构成 HTTP 消息的原始数据吗?
编辑:我应该补充一下,我使用的是 Windows。此外,该工具需要同时与远程服务器和本地服务器配合使用。
答案1
Fiddler是一个“HTTP 调试代理”。它允许您检查 HTTP 消息,还可以编写新的 HTTP 消息。每条消息都可以通过多种方式查看,例如原始文本和十六进制编辑器。一个可能的缺点是它需要 .NET Framework。
答案2
我投票支持 curl
$ curl -I http://www.amazon.com
HTTP/1.1 405 MethodNotAllowed
Date: Tue, 16 Mar 2010 01:21:45 GMT
Server: Server
Set-Cookie: skin=noskin; path=/; domain=.amazon.com; expires=Tue, 16-Mar-2010 01:21:45 GMT
x-amz-id-1: 02Q7DN8FGW708892524E
allow: POST, GET
x-amz-id-2: POduQxVVwgUXSZRQEM5nWw+9DDvV22s7
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=ISO-8859-1
答案3
篡改数据是一款出色的 Firefox 插件,可显示浏览器发出的所有 HTTP 请求。它显示标头、内容以及您想知道的所有内容。如果您有 Firefox,请试用一下。