如何让 Web 服务器通过本地 fiddler 代理发送出站 http 请求?

How to get a web server to send outbound http requests through local fiddler proxy?

我正在 运行使用 Go 编写的本地 Web 服务器,我可以调试从我的浏览器进入它的流量;但是,我看不到它向外部服务发出的 http 请求。

我是否必须 运行 Web 服务器的某些特定配置才能使流量出现在 fiddler 中?它是 运行ning 作为后台进程。

简短回答:你不能...

...除非您的 Web 应用程序被编写为打开到代理服务器的连接并通过该连接路由请求(例如连接到远程代理,然后发送请求通过这)。

通常开发人员所做的只是将 Web Request/Response 转储到调试文件以在开发过程中检查(或在实时服务器上调试,通过在运行时使用标志启用它)。

Fiddler 是一个 "proxy" service/server。当您正常使用它来调试浏览器请求时,您的 Browser 配置为连接到 Proxy 服务器。也就是说,它将通过您的 fiddler 的本地服务器发送所有 Web 请求(如果我记得我使用 Fiddler 的 Windows 天的话,我认为它是 localhost:8888),这反过来会连接到您的本地 Web 服务器你在调试。

You can read more about Proxies at Wikipedia.

在上图中,您的本地 Web 服务器将是 Alice。这意味着,Alice 需要配置为连接到代理服务器,然后通过它发出 Web 请求。

编辑:

(针对 "I really need this" 人群)

如果您真的想修改您的 Web 服务器以通过代理发送请求,已经编写了一些 Go 包来帮助您。 GoProxy 就是这样一个包。