我正在尝试使用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进程,而不是你试图启动的那个。