下面我将分步骤详细讲解如何查看不同类型的参数,并解释 HttpWatch 中各个标签页的含义。
核心步骤:如何捕获和分析请求
无论你要查看哪种参数,基本步骤都是一样的:
-
启动 HttpWatch:
- 在 IE 或 Edge 浏览器中,通过
工具->HttpWatch Professional(或 Free) 打开 HttpWatch 窗口。 - HttpWatch 会作为一个侧边栏嵌入到浏览器中。
- 在 IE 或 Edge 浏览器中,通过
-
开始记录:
- 在 HttpWatch 工具栏上,点击红色的 Record 按钮(圆点),浏览器中所有的网络活动都会被记录下来。
-
触发请求:
- 在浏览器中执行你想要分析的操作。
- 访问一个网址。
- 提交一个登录表单。
- 点击一个“加载更多”的按钮。
- 在搜索框中输入内容并按回车。
- 在浏览器中执行你想要分析的操作。
-
停止记录:
- 操作完成后,点击 HttpWatch 工具栏上的 Stop 按钮(方形)。
-
分析结果:
- 所有被捕获的网络请求都会显示在 HttpWatch 的 Summary (概要) 标签页的列表中。
- 找到你感兴趣的那个请求(通常可以根据 URL 或 Method 来识别),点击它,下方的详细内容就会展开。
查看不同类型的参数
在选中一个请求后,你可以通过切换底部的不同标签页来查看各种参数,最相关的几个标签页是:
查询字符串参数
当 URL 中包含 和 key=value 对时,这些就是查询字符串参数,通常用于 GET 请求。
- 位置:在选中的请求下,点击 Headers 标签页。
- 如何查看:
- 在左侧的树状结构中,找到并展开
Query String项。 - 你会看到一个表格,清晰地列出了所有的参数名和值。
- 在左侧的树状结构中,找到并展开
示例:
URL 是 https://www.example.com/search?q=httpwatch&category=tools,在 Query String 中你会看到:
| Name | Value |
| :--- | :--- |
| q | httpwatch |
| category | tools |
POST 请求体参数
当使用 POST 方法提交表单时,参数通常放在请求体中,这可能是最常见的情况。
- 位置:在选中的请求下,点击 Content 标签页。
- 如何查看:
Content标签页会显示请求体中的原始数据。- 对于
application/x-www-form-urlencoded格式(标准的表单提交):HttpWatch 会自动解析,并在左侧树状结构中提供一个名为Form Data的部分,点击它,就能以表格形式看到参数名和值,与查询字符串类似。 - 对于
application/json格式(现代 API 常用):你会看到原始的 JSON 文本,你需要手动阅读或使用 JSON 格式化工具来理解其中的参数结构。 - 对于
multipart/form-data格式(通常用于上传文件):你会看到一段边界字符串分隔的混合内容,包含文本字段和文件二进制数据。
示例:
如果提交了一个表单,在 Content -> Form Data 中你可能会看到:
| Name | Value |
| :--- | :--- |
| username | myuser |
| password | mypassword123 |
HTTP 请求头
虽然不是严格意义上的“参数”,但 HTTP 请求头包含了大量控制请求行为的关键信息,如 User-Agent(浏览器信息)、Cookie、Authorization(认证令牌)等。
- 位置:在选中的请求下,点击 Headers 标签页。
- 如何查看:
- 左侧树状结构中,
Request Headers下列出了所有的请求头。 - Cookie 是一个非常重要的头,你可以直接在这里看到当前请求发送了哪些 Cookie,Cookie 很多,它会显示为
Cookie: name1=value1; name2=value2; ...的形式。
- 左侧树状结构中,
Cookie
Cookie 是一种特殊的参数,用于在客户端存储状态信息。
- 位置:
- 全局查看:在 HttpWatch 窗口的顶部,有一个专门的 Cookies 标签页,这里会显示当前会话中所有域名的所有 Cookie,非常全面。
- 针对单个请求:在 Headers 标签页下的
Request Headers中查看Cookie项。
其他重要标签页简介
为了让你更全面地理解 HttpWatch,这里简单介绍一下其他标签页的作用:
-
Summary (概要):
- 显示所有捕获请求的列表,包括状态码、方法、URL、大小、时间等。
- 提供整体性能分析,如总请求数、总下载时间、DNS 时间等。
-
Headers (头部):
- Request Headers: 发送给服务器的请求头。
- Response Headers: 服务器返回的响应头。
- Query String: URL 中的参数。
- Authentication: 认证相关的信息(如 Basic Auth, NTLM Auth 的凭证)。
-
Content (内容):
显示请求体或响应体的原始内容,对于分析 POST 数据和 API 响应至关重要。
-
Cache (缓存):
显示请求是否命中了浏览器缓存,以及缓存项的详细信息(如过期时间、ETag 等)。
-
Cookies (Cookie):
全局视图,查看和管理当前会话的所有 Cookie。
-
Stream (流):
以原始字节流的形式显示请求和响应内容,对于调试二进制数据(如图片、字体文件)很有用。
-
Timing (计时):
以时间轴的形式可视化展示请求的各个阶段花费的时间,如 DNS 查找、TCP 连接、服务器处理、内容下载等,这是进行性能分析的利器。
-
Session (会话):
将多个相关的请求组织在一起,模拟一次完整的用户操作流程(如登录、浏览商品、加入购物车)。
总结与技巧
- 精准定位:当页面请求很多时,使用
Summary列表的排序和筛选功能(如按 URL、按状态码)可以快速找到你关心的请求。 - 右键菜单:在请求列表或任何标签页的内容上右键,有很多实用功能,如
Copy(复制内容)、View in Browser(在新窗口中打开)、Filter(过滤) 等。 - 自动刷新:在
Summary标签页的右下角,可以设置自动刷新间隔,这对于监控动态加载的内容非常有用。 - 导出数据:你可以将整个会话或单个请求的数据导出为 XML、CSV 或 HAR (HTTP Archive) 格式,方便离线分析或与其他工具(如 Fiddler, Chrome DevTools)共享数据。
通过熟练运用这些标签页,你就可以全面地剖析任何 Web 应用程序的网络通信细节,无论是调试、性能优化还是安全分析,都能事半功倍。
