【问题标题】:Fiddlercore: Session.LocalProcessID does not match System.Diagnostics.Process.IdFiddlercore:Session.LocalProcessID 与 System.Diagnostics.Process.Id 不匹配
【发布时间】:2015-10-23 18:53:18
【问题描述】:

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

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

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

当提琴手会话完成后,我检查提琴手 Session.LocalProcessID 是否与进程 ID 匹配

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

但是,进程 ID 永远不会匹配,所有 Fiddler 流量都会被忽略。

为什么 Process.Start 提供的 ID 与 Session.LocalProcessID 提供的 ID 不匹配?如何从每个来源获取正确的 ID?

【问题讨论】:

    标签: c# pid fiddlercore


    【解决方案1】:

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

    遗憾的是,没有很好的方法来实现您想要做的事情,因为渲染进程甚至可能是与您尝试启动的进程不同的 Frame 进程的父进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 1970-01-01
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      相关资源
      最近更新 更多