1. 为什么需要查看LLM请求体?
在开发基于Claude Code的AI应用时,查看LLM请求体是调试过程中不可或缺的环节。想象一下,当你精心设计的prompt没有返回预期结果时,就像厨师不知道食材是否真的下锅了一样令人抓狂。请求体就是那个揭开黑箱的钥匙,它能告诉你:
- 实际发送给模型的完整prompt结构
- 温度(temperature)等关键参数的真实取值
- 系统指令(system message)是否被正确处理
- 多轮对话中历史消息的组装方式
我曾在开发一个客服机器人时,发现回复总是过于简短。通过检查请求体,才发现前端传入的max_tokens参数被中间件意外覆盖为50。这种问题不查看原始请求根本无法定位。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 抓包方法:专业开发者的首选方案
2.1 Charles Proxy配置指南
作为专业的HTTP抓包工具,Charles是查看网络请求的瑞士军刀。以下是针对Claude API的专用配置步骤:
-
安装Charles后,首先启用SSL代理:
bash复制
Proxy -> SSL Proxying Settings -> Enable SSL Proxying添加
*.anthropic.com到包含列表 -
在设备上安装Charles根证书:
bash复制
Help -> SSL Proxying -> Install Charles Root Certificate对于iOS设备,需要手动信任证书(设置->通用->关于本机->证书信任设置)
-
关键技巧:在Charles的
Sequence面板中,右键过滤出/v1/messages接口
注意:新版Claude API使用HTTP/2协议,需要在Charles的Proxy设置中取消勾选"Enable HTTP/2",否则可能无法捕获完整请求
2.2 Wireshark高级抓包技巧
当遇到更底层的网络问题时,Wireshark能提供TCP层面的洞察:
bash复制# 捕获特定端口的流量
tcp.port == 443 && http2
# 提取HTTP/2流量的过滤表达式
http2.headers.method == "POST" && ht
