我正在寻找一种基本方法来检索本地计算机上任何其他应用程序请求的 URL (HTTP)。基本上我只想要这个应用程序中的一个文本框,它在请求时列出 URL。我只对 url 感兴趣,仅此而已。完成此操作的最简单方法是什么?我宁愿不要求应用程序在管理模式下运行,也不想使用外部库,例如 Fiddler 或类似库。
更新:
我注意到 Fiddler 是使用 .NET 开发的,因此显然可以只使用 .NET 来完成我想做的事情。我正在使用 Reflector 筛选 Fiddler 的代码,但它并没有给我太多帮助。我不知道从哪里开始。但正如我所说,我只对 HTTP 上的传出流量感兴趣,并且只对请求的特定 url 感兴趣。这不会很难,所以只能使用 .NET 来修复吗?
更新:
关键似乎是使用 System.Net.Sockets 命名空间中的套接字。我还不太确定如何正确使用它,但我遵循了一些其他示例,它似乎非常简单。
最佳答案
我知道您说过不想使用外部库,但是没有简单的方法可以在不使用其他库的情况下拦截其他进程请求的 URL。
如果您有兴趣,我使用了 PCap .NET前一段时间。它真的很容易使用,几个小时后我就有了一个应用程序监听第三方应用程序之间的 HTTP 通信,并根据捕获的信息自动执行其中一个。
关于c# - .NET:使用 C# 列出 HTTP 流量 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5665333/