本文整理汇总了C#中IronWASP.Session.UpdateFiddlerSessionFromIronSession方法的典型用法代码示例。如果您正苦于以下问题:C# Session.UpdateFiddlerSessionFromIronSession方法的具体用法?C# Session.UpdateFiddlerSessionFromIronSession怎么用?C# Session.UpdateFiddlerSessionFromIronSession使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IronWASP.Session
的用法示例。
在下文中一共展示了Session.UpdateFiddlerSessionFromIronSession方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BeforeResponse
internal static void BeforeResponse(Fiddler.Session Sess)
{
if (Sess.HTTPMethodIs("Connect")) return;
if (Sess.oFlags.ContainsKey("IronFlag-BuiltBy"))
{
if (Sess.oFlags["IronFlag-BuiltBy"].Equals("Stealth")) return;
}
Session IrSe;
try
{
Sess.utilDecodeResponse();
IrSe = new Session(Sess);
}
catch(Exception Exp)
{
IronException.Report("Error reading Response", Exp.Message, Exp.StackTrace);
return;
}
if (IrSe == null)
{
IronException.Report("Error reading Response", "", "");
return;
}
if (IrSe.Response == null)
{
IronException.Report("Error reading Response", "", "");
return;
}
if (IrSe.FiddlerSession == null)
{
IronException.Report("Error reading Response", "", "");
return;
}
long TTL = DateTime.Now.Ticks - IrSe.Request.TimeObject.Ticks;
IrSe.Response.TTL = (int)(TTL / 10000);
if (Sess.oFlags.ContainsKey("IronFlag-TTL"))
{
IrSe.FiddlerSession.oFlags["IronFlag-TTL"] = IrSe.Response.TTL.ToString();
}
else
{
IrSe.FiddlerSession.oFlags.Add("IronFlag-TTL", IrSe.Response.TTL.ToString());
}
try
{
Session ClonedIronSessionWithResponse = IrSe.GetClone();
if (ClonedIronSessionWithResponse != null && ClonedIronSessionWithResponse.Response != null)
{
PassiveChecker.AddToCheckResponse(ClonedIronSessionWithResponse);
}
else
IronException.Report("IronSession with Response Couldn't be cloned at ID - " + IrSe.ID.ToString(), "", "");
}
catch (Exception Exp)
{
IronException.Report("Error Cloning IronSession in BeforeRequest", Exp.Message, Exp.StackTrace);
}
if (!IrSe.FiddlerSession.isFlagSet(Fiddler.SessionFlags.RequestGeneratedByFiddler))
{
//IronUpdater.AddProxyResponse(IrSe.Response);
}
if (!IrSe.FiddlerSession.isFlagSet(Fiddler.SessionFlags.RequestGeneratedByFiddler))
{
IrSe.Response.Host = IrSe.Request.Host;
IrSe.OriginalResponse = IrSe.Response.GetClone(true);
if(CanInterceptResponse(IrSe))
{
IrSe.MSR = new ManualResetEvent(false);
IrSe.FiddlerSession.state = Fiddler.SessionStates.HandTamperResponse;
InterceptedSessions.Add(IrSe.ID + "-Response", IrSe);
IronUI.SendSessionToProxy(IrSe);
InterceptedSessions[IrSe.ID + "-Response"].MSR.WaitOne();
InterceptedSessions.Remove(IrSe.ID + "-Response");
IrSe.UpdateFiddlerSessionFromIronSession();
}
else if (ScriptedInterceptionEnabled)
{
IrSe.UpdateFiddlerSessionFromIronSession();
}
else
{
IrSe.FiddlerSession.state = Fiddler.SessionStates.AutoTamperResponseBefore;
}
if (ScriptedInterceptionEnabled && ScInt.CallAfterInterception)
{
try
{
ScInt.AfterInterception = true;
ScInt.ShouldIntercept(IrSe);
}
catch (Exception Exp)
{
IronUI.ShowProxyException("Error in Scripted Interception Script");
IronException.Report("Error in Scripted Interception Script", Exp);
}
ScInt.AfterInterception = false;
//.........这里部分代码省略.........
示例2: BeforeRequest
internal static void BeforeRequest(Fiddler.Session Sess)
{
if (Sess.HTTPMethodIs("Connect"))
{
if (IronProxy.UseUpstreamProxy)
{
string UpstreamProxyString = string.Format("{0}:{1}", IronProxy.UpstreamProxyIP, IronProxy.UpstreamProxyPort.ToString());
Sess.oFlags.Add("x-overrideGateway", UpstreamProxyString);
}
if (Config.HasFiddlerFlags)
{
string[,] Flags = Config.GetFiddlerFlags();
for (int i = 0; i < Flags.GetLength(0); i++)
{
Sess.oFlags.Add(Flags[i, 0], Flags[i, 1]);
}
}
return;
}
if(Sess.oFlags.ContainsKey("IronFlag-BuiltBy"))
{
if (Sess.oFlags["IronFlag-BuiltBy"].Equals("Stealth"))
{
if (IronProxy.UseUpstreamProxy)
{
string UpstreamProxyString = string.Format("{0}:{1}", IronProxy.UpstreamProxyIP, IronProxy.UpstreamProxyPort.ToString());
Sess.oFlags.Add("x-overrideGateway", UpstreamProxyString);
}
if (Config.HasFiddlerFlags)
{
string[,] Flags = Config.GetFiddlerFlags();
for (int i = 0; i < Flags.GetLength(0); i++)
{
Sess.oFlags.Add(Flags[i, 0], Flags[i, 1]);
}
}
return;
}
}
Session IrSe;
try
{
IrSe = new Session(Sess);
}
catch(Exception Exp)
{
IronException.Report("Error reading Request", Exp.Message, Exp.StackTrace);
return;
}
if (IrSe == null)
{
IronException.Report("Error reading Request", "", "");
return;
}
if (IrSe.Request == null)
{
IronException.Report("Error reading Request", "", "");
return;
}
if (IrSe.FiddlerSession == null)
{
IronException.Report("Error reading Request", "", "");
return;
}
//Needs to be turned on to read the response body
IrSe.FiddlerSession.bBufferResponse = true;
IrSe.Request.TimeObject = DateTime.Now;
if (Sess.oFlags.ContainsKey("IronFlag-Ticks"))
{
IrSe.FiddlerSession.oFlags["IronFlag-Ticks"] = IrSe.Request.TimeObject.Ticks.ToString();
}
else
{
IrSe.FiddlerSession.oFlags.Add("IronFlag-Ticks", IrSe.Request.TimeObject.Ticks.ToString());
}
//try
//{
// Session ClonedIronSessionWithRequest = IrSe.GetClone();
// if (ClonedIronSessionWithRequest != null && ClonedIronSessionWithRequest.Request != null)
// PassiveChecker.AddToCheckRequest(ClonedIronSessionWithRequest);
// else
// IronException.Report("IronSession Request Couldn't be cloned at ID - " + IrSe.ID.ToString(),"","");
//}
//catch(Exception Exp)
//{
// IronException.Report("Error Cloning IronSession in BeforeRequest", Exp.Message, Exp.StackTrace);
//}
if (PluginEngine.ShouldRunRequestBasedPassivePlugins())
{
try
{
PluginEngine.RunAllRequestBasedInlinePassivePlugins(IrSe);
IrSe.UpdateFiddlerSessionFromIronSession();
}
catch (Exception Exp)
{
//.........这里部分代码省略.........