使用 Charles 调试 HTTP 调用

Debugging HTTP calls with Charles

我有一个 ASP.NET 应用,我在 Mac OS X 上 运行。这个应用有一个网络服务。我调用网络服务,然后它调用第三方网络服务。我可以在 Charles 中成功看到正在调用我的 Web 服务。但是,我看不到对第三方网络服务的调用。为什么会这样? Charles 会忽略这样的嵌套调用吗?我真的需要调试服务调用。但是,我在 Charles 中看不到发送到服务的请求。

如何在Charles中查看调用第三方服务的详情?

您需要将 ASP.NET 应用配置为使用 Charles 作为其代理。

当您调用网络服务时,您的客户端(浏览器?)使用 Charles 作为其代理,因此您会看到请求。然后,您的 ASP.NET 应用发出新的网络请求,但未使用 Charles 作为其代理,因此您看不到它。

在 Mac OS X 上,通常所有应用程序都使用系统代理设置,在系统偏好设置 > 网络中设置。如果在 Charles 的代理菜单中勾选了 Mac OS X 代理,Charles 会自动将这些设置为使用 Charles。考虑到您的客户使用的是 Charles,我想这已经为您打勾了。

所以也许 ASP.NET 应用程序不使用系统代理设置。在这种情况下,您需要检查如何在 ASP.NET 应用程序中设置代理。抱歉,我不确定该怎么做!