我想监听端口80的请求/响应。
可以用TIdHTTPServer
完成吗?如果是,那么怎么做呢?
编辑:我希望我的应用程序能够监听浏览器活动(可以是IE、Chrome、FF等),并获取所有媒体链接(图像、电影)。像MediaPluck
MediaPluck的"问题"在于,您需要更改web浏览器配置中的代理服务器,我认为这是个坏主意。
如果不更改浏览器/客户端连接设置,就无法使用TIdHTTPServer
或TIdHTTPProxyServer
来探查HTTP流量。Fiddler就是这么做的-临时更改WinInet的代理设置(IE使用WinInet,因此它可以透明地接收更改)。您所要求的需要对网络子系统进行较低级别的嗅探,例如WinPCap/Ethereal所做的。
您可以使用TIdHTTPServer
编写代理服务器。但是,只有当您在web浏览器中配置此代理服务器时,这种"嗅探"才会起作用。
更新
如果你想写另一个小提琴手;-)请参阅以下答案:有关于fiddler如何工作的资源/代码吗?
更新2
根据您的问题更新,您有两种选择。
按照雷米的指示更改WinInet代理设置。例如,看到这个问题,你只需要将代码从C++翻译成Delphi:C++/WinInet更改代理设置Windows7。
或者编写windows驱动程序以支持捕获数据包。但对于媒体应用程序来说,这似乎是更糟糕的选择。
我可以使用Fiddler或FiddlerCore