我正在寻找一种检索本地计算机上任何其他应用程序请求的URL(HTTP)的基本方法。基本上我只想在这个应用程序中使用一个文本框,列出正在请求的URL。我只对网址感兴趣,仅此而已。实现这一目标的最简单方法是什么?我宁愿不要求应用程序在管理模式下运行,我也不想使用外部库,如Fiddler或类似的。
更新
我注意到Fiddler是用.NET开发的,所以很明显可以用.NET完成我想做的事情。我正在使用Reflector筛选Fiddler的代码,但它并没有给我太多帮助。我不知道从哪里开始。但正如我所说,我只对HTTP上的传出流量以及请求的特定URL感兴趣。这个问题难以解决,只能用.NET修复吗?
更新
关键似乎是使用System.Net.Sockets命名空间中的Socket。我不完全确定如何正确使用它,但我遵循一些其他的例子,它似乎很容易。
答案 0 :(得分:2)
我知道你说不想使用外部库,但是没有简单的方法可以在不使用其他库的情况下拦截其他进程请求的URL。
如果您感兴趣,我前段时间使用过PCap .NET。它非常容易使用,几个小时后我就有一个应用程序在第三方应用程序之间监听HTTP通信,并根据捕获的信息自动执行其中一个应用程序。