Fiddlercore:会话.LocalProcessID与System.Diagnostics.Process.Id不



我正在尝试使用FiddlerCore dll制作网络流量工具。我想通过ProcessID过滤我的结果,以便只记录来自所需浏览器实例的流量。

我使用System.Diagnostics.Process在IE中启动用户指定的网页。

Process IEProc = Process.Start("IExplore.exe", DesiredWebpage);
IEProcID = IEProc.Id;

当一个提琴手会话已经完成,我检查提琴手会话是否。LocalProcessID匹配进程ID

private void FiddlerCapture_AfterSessionComplete(Session sess)
{
    if(sess.LocalProcessID == IEProcID)
    {
        //Add results to logfile
    }
}

然而,进程ID永远不匹配,所有Fiddler流量都被忽略。

为什么Process提供的ID不能。开始匹配Session.LocalProcessID提供的ID?如何从每个来源获得正确的ID ?

Process.Start返回Internet Explorer Frame/Manager进程的进程ID。选项卡的流量来自子渲染进程。

遗憾的是,没有很好的方法来实现你想要做的事情,因为渲染进程甚至可能属于一个不同的Frame进程,而不是你试图启动的那个。

最新更新