FiddlerCore 可以让会话经由应用程序选定的上游代理转发。在 BeforeRequest 中为会话设置 x-overrideGateway 标志:

FiddlerApplication.BeforeRequest += session => {
    session["x-overrideGateway"] = "proxy.office.example:8080";
};

这是一段面向既有宿主应用的 FiddlerCore 事件注册片段。该标志通常使用 host:port 形式,用来指定一个 HTTP 网关。请求的目标仍然是它最初指向的网站。在没有配置上游代理凭据的情况下,若只想独立测试公开站点,网络允许时可以从 HTTP 代理列表 中挑选可用的 host:port 值。

无条件的处理程序会对所有经过它的会话套用同一个上游代理。若要选择性转发,应把赋值放进应用程序的目标规则里,让其余会话继续沿用原本的网关策略。

文档中说明的特殊值 DIRECT 会为该会话选择直连路径。当需要在不经过公司上游代理的情况下访问内部目标时,这很有用。

要区分两个监听端:客户端连接的是 FiddlerCore 的监听器,而覆盖值指定的是下一跳代理。把覆盖值指回 FiddlerCore 自己的监听端点,请求就会绕成一个环。

标志要在请求发往上游之前设置。响应到达之后再改,只会改变会话的显示数据,无法改变已经完成的网络操作走向。

相关文章