首页 > 解决方案 > 不使用工具查看 HttpWebRequest 的内容(C#)

问题描述

我想在将来的某个时间向服务器发送一个带有一些 json 字符串的 put 请求。我想将我发送的请求与我收到的要求进行比较,但我还没有访问该服务器的权限,所以我无法测试我发送的请求是否符合预期。我发现的唯一东西是 ToString'ing 我的 httpWebRequest(就像在this中一样),这不是我需要的。

有没有办法准确地阅读我在发送到虚空之后(或之前)发送的内容?或者,有没有办法向自己发送请求并以这种方式阅读?

编辑:我无法在我的工作站上安装外国软件。虽然使用像 Wireshark 这样的工具可能会为公众解决问题,但我仍然需要一种以编程方式执行此操作的方法。

Edit2:搜索该主题可能没有产生任何结果,但是 SO 建议的右侧随机主题实际上具有(几乎完全)我想要的内容,所需要的只是将某些内容复制粘贴到 web.config 文件中。实施此答案(除其他外)将所有连接及其内容放入调试控制台。

标签: c#httpdebuggingrequest

解决方案


尝试使用Fiddler 之类的 HTTP 调试工具。它就像一个代理,可以让您查看程序发送的 HTTP 请求的请求和响应。

以下是如何将它与 HttpWebRequest 一起使用:Get HTTP requests and response made using HttpWebRequest/HttpWebResponse to show in Fiddler

如果您不允许安装 Fiddler,您可以考虑在 C# 中制作自己的 Fiddler 版本以捕获流量如何在 C# 中创建简单代理?


推荐阅读