今天这个问题找了半天方法,最后还是通过F12查看源码得出的解决方案
话不多说直接上源码
private void FiddlerApplication_OnWebSocketMessage(object sender, WebSocketMessageEventArgs e)
{
var msg = e.oWSM;
FieldInfo field = msg.GetType().GetField("_wsOwner", BindingFlags.NonPublic | BindingFlags.Instance);
WebSocket obj = (WebSocket)field.GetValue(msg);
field = obj.GetType().GetField("oCP", BindingFlags.NonPublic | BindingFlags.Instance);
ClientPipe ocp = (ClientPipe)field.GetValue(obj);
Console.WriteLine($"{ocp.LocalProcessID}:{ocp.LocalProcessName}");
OnWebSocketData?.Invoke(this, msg);
}
直接反射硬拿