debugging - 如何从中间Web API服务捕获HTTP流量?

标签 debugging rest asp.net-web-api fiddler wireshark

这是我当前的设置:

客户端应用程序 -----> 中介 Web API 服务(接收来自客户端的调用) ------> 第 3 方 RESTful 服务(接收来自中介服务的调用)

因此,如果我发起从客户端到中间服务的调用从中间服务发起到第 3 方服务的调用,我可以使用 Fiddler 或 Wireshark检查 POSTed XML/JSON。

问题是,当我从客户端一直进行调用时,我想检查从中间服务发送到第 3 方服务的实际原始 HTTP 传出消息。如果我在包含中间服务的服务器上运行 Fiddler,我看不到从该服务器出站的 HTTP 流量。我也尝试过 Wireshark,但它也无法获取流量。不过我知道它的发生是因为第三方服务向我发回了错误。

中间服务充当客户端应用程序到第 3 方服务的外观,并在使另一个 HTTP 客户端出站到第 3 方服务之前处理来自客户端的数据。我在第 3 方服务接受传出消息时遇到问题,并且确实需要查看中间服务省略的原始 HTTP 消息(我使用 HttpClient.PostAsync 来 POST数据到第三方服务)。我在发送之前已经将其保存到数据库中,但我取出的内容似乎没问题。

所以主要问题是,如何获取我的中间服务正在 POST 到第 3 方服务的消息? Fiddler、Wireshark 或其他程序是否可以用来检查从中间服务出站的 HTTP 消息?

最佳答案

配置您的“中间 Web API 服务”以通过在同一台(或不同)计算机上运行的 Fiddler 实例代理其流量,这样就可以正常工作。

如果您的服务是用 .NET 编写的,您可以手动配置其代理:http://www.fiddler2.com/fiddler/help/hookup.asp#Q-DOTNET或者您可以更新 machine.config 或 web.config:http://www.telerik.com/automated-testing-tools/blog/eric-lawrence/13-01-08/capturing-traffic-from-net-services-with-fiddler.aspx以便其流量通过 Fiddler 实例。

关于debugging - 如何从中间Web API服务捕获HTTP流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15754832/

相关文章:

debugging - 为 Windows 服务设置事后调试器

java - 如何将来自外部源(主要是Restful)的数据引入HDFS?

jQuery 'POST' 在 ASP.NET Web API beta 中被视为 'GET'

java - 同时调试python和Java

android - 使用 GPU 调试器 (GAPID) android studio

wpf - 为什么我无法在 VS 中单步执行 WPF 源代码?

java - 使用 JPA 的 Spring Boot OnetoMany

java.lang.NoClassDefFoundError : org/glassfish/jersey/internal/inject/Binder when started Tomcat Server 错误

asp.net - 使用 ASP.net Web API 作为服务层好吗?

浏览器取消请求时出现 ASP.NET Web API OperationCanceledException