Fiddler 的 Composer 选项卡支持手动构建和发送 HTTP、HTTPS 和 FTP 请求。此外,还可以从 Web 会话列表中拖拽会话,把它放到 Composer 选项卡中,把该 Session 的请求复制到用户界面。点击 Execute 按钮,把请求发送到服务器端。如下图:
从上图可知,Composer 选项卡是由三个子选项卡组成的:Parsed、Raw、Scratchpad 和 Options 选项卡。下面将按序解释每个选项卡,为了便于说明,从右开始。
Options 选项卡提供的选项如下:
Inspect Session 请求执行后,Inspectors 选项卡会被激活,可以查看请求的结果
Fix Content- Length header 该选项控制 Composer 是否会自动添加或修改 Content-Length 请求头,表示请求体的大小。在很多情况下,缺少适当的 Content-Length 头的请求会 HANG 住或导致 HTTP 响应出错
Follow Redirects 该选项控制 Composer 是否会自动使用响应的 Location 头,遵循 HTTP/3xx 重定向。如果选中该选项,Composer 在失败之前最多会执行 10 次重定向
Automatically Authenticate 该选项控制 Composer 是否会自动响应服务器的 HTTP/401 或 HTTP/407 认证需求。如果选中该选项,会使用 Fiddler 所运行的账户的 Windows 证书自动响应这些问题。要提供不同的证书集,设置Preference fiddler.composer.AutoAuthCreds。如果服务器需要的证书和提供方的证书不同,请求会失败,通常会返回响应 HTTP/403
Tear off button 该按钮会从主 Fiddler 窗口删除 Composer,并把它作为独立的悬浮窗口打开。如果选中 Inspect Session 选项,该选项就非常有用,因为它支持同时查看 Composer 和 Inspector 选项卡
使用 Scratchpad 选项卡存储请求集合。如果要发出请求,请选择其文本并按 Execute 按钮进行执行。如下图:
Raw 选项卡提供简单的文本框,可以在该文本框中输入合适的 HTTP 请求。如果请求格式不对(比如忘记在请求头后截断CRLF),点击 Execute 按钮不会发起请求。
Raw 选项卡很少使用 —— 绝大多数请求应该使用 Parsed 选项卡。如下图:
上图中,手动编辑了一个 HTTP 请求,该请求将获取张 jpeg 图片。
Parsed 选项卡支持为每个请求组件使用独立的输入框构建请求。选项卡的上方是三个输入框:
第一个输入框支持指定HTTP方法(如:POST)
第二个输入框支持指定请求的绝对 URL(必须以 http://、https:// 或 ftp:// 开头)
第三个输入框支持指定 HTTP 版本号(通常是 HTTP/1.1)
在最上方的线下是两个大的文本区:最上方的输入框支持编辑请求头。最下方的输入框支持编辑请求体。
如果当前选中的 HTTP 方法不支持请求体(如:GET方法),当在请求体输入框输入文本时,该输入框会显示红色。如下图: