protected override void OnExit(ExitEventArgs e) { base.OnExit(e); SystemHelper.RemoveIcon(); FiddlerHelper.Stop(); WebSocketHelper.Stop(); }
private void Window_Loaded(object sender, RoutedEventArgs e) { FiddlerHelper.RefreshIESettings("localhost:" + FiddlerWindow.FIDDLER_PORT); webBrowser.Navigated += webBrowser_Navigated; webBrowser.Navigating += webBrowser_Navigating; webBrowser.LoadCompleted += webBrowser_LoadCompleted; }
public void Bind(mshtml.HTMLDocument dom) { Clean(); var sess = Enumerable.First <FiddlerSessionHolder>(FiddlerHelper.GetSessionsStack()); //TODO: diff SessionDocument = sess.BrowsingResponse.ResponseContent.AsFixedXML(); String domDocStr = ("" + (dom as dynamic).documentElement.OuterHtml + ""); DomDocument = domDocStr.AsFixedXML(); }
void webBrowser_Navigating(object sender, NavigatingCancelEventArgs e) { if (LastRequest == e.Uri) { return; } LastRequest = e.Uri; FiddlerHelper.StartNewSessionsStack(); (DataContext as FiddlerWindowVm).Output.StartStep(e.Uri.ToString()); }
public override void Bind(mshtml.HTMLDocument dom, string content) { Clean(); var sess = Enumerable.First <FiddlerSessionHolder>(FiddlerHelper.GetSessionsStack()); //TODO: diff SessionDocument = new HtmlNodeHierarchy(sess.BrowsingResponse.ResponseContent.AsHtmlDocument().DocumentNode); String domDocStr = ("" + (dom as dynamic).documentElement.OuterHtml + ""); DomDocument = new HtmlNodeHierarchy(domDocStr.AsHtmlDocument().DocumentNode); }
void webBrowser_LoadCompleted(object sender, NavigationEventArgs e) { new Action(() => { Thread.Sleep(500); FiddlerHelper.WaitForSessionStackComplete(); FiddlerHelper.Log("all done"); App.CurrentApp.InRenderAction((_) => { HTMLDocument dom = (HTMLDocument)webBrowser.Document; Analyse(dom); }, null, true); }).BeginInvoke(null, null); }
public FiddlerWindow() { if (Instance != null) { throw new Exception("Can be only one FiddlerWindow instance"); } Instance = this; FiddlerHelper.ClearCache(); FiddlerHelper.StartListening(FIDDLER_PORT); this.Closing += (s, e) => { FiddlerHelper.StopListening(); Instance = null; }; InitializeComponent(); }
public void Bind(HTMLDocument dom) { var sess = Enumerable.First <FiddlerSessionHolder>(FiddlerHelper.GetSessionsStack()); html = sess.BrowsingResponse.ResponseContent.AsHtmlDocument(); GeneratedCode.Clear(); GeneratedCode.Add(GetRequestCode(sess, html)); foreach (var codeGeneration in GetFormsCode(sess, html)) { GeneratedCode.Add(codeGeneration); } foreach (var codeGeneration in GetAllSelectCode(sess, html)) { GeneratedCode.Add(codeGeneration); } GeneratedCode.Add(GetAllInputCode(sess, html)); NotifyPropertyChanged("GeneratedCode"); }
public void CICS_1749UpdateForgottenPasswordLinkTest() { var application = new ATProDebugApp(); application.StartApp(); var loginWindow = new LoginWindow(application); string URL = "https://trade-ppe.loginandtrade.com/forgottenpassword/resetpassword.aspx"; string URLLIVE = "https://trade.loginandtrade.com/forgottenpassword/resetpassword.aspx"; loginWindow.ExecuteActionForeachLanguage(() => { FiddlerHelper.ListenByFiddler(() => { loginWindow.ForgottenPasswordLink.Click(); var forgottenPasswordWindow = new ChromiumWebBrowserWindow(application); forgottenPasswordWindow.Close(); }); var address = $"{URL}?cu={GetCurrentShortCulture()}&theme=ci"; FiddlerHelper.CheckRequestSent(address); FiddlerHelper.RequestsList.Clear(); }); application.SetENGLanguageInConfigFile(); loginWindow.EnvironmentComboBox.SelectItem("Live"); loginWindow.ExecuteActionForeachLanguage(() => { FiddlerHelper.ListenByFiddler(() => { loginWindow.ForgottenPasswordLink.Click(); var forgottenPasswordWindow = new ChromiumWebBrowserWindow(application); forgottenPasswordWindow.Close(); }); var address = $"{URLLIVE}?cu={GetCurrentShortCulture()}&theme=ci"; FiddlerHelper.CheckRequestSent(address); FiddlerHelper.RequestsList.Clear(); }); }
public static void SendSessionStateHandler(string id, EventName eventName, IWebSocketConnection socket, Session session) { if (session.port == WebSocketHelper.WebSocketPort) { return; } var message = new MessageInfo { ID = id, Type = MessageMode.Event, Body = new InstanceResponse { Result = GenerateSessionInfo(session) } }; socket.Send(JsonConvert.SerializeObject(message, Common.TimeFormat)); if (FiddlerHelper.IsPauseSession() && eventName != EventName.AfterSessionComplete) { session.Pause(); } }
protected override void OnStartup(StartupEventArgs e) { var isReStart = false; if (e.Args.CanBeCount()) { e.Args.ForEachOfUnNone(arg => { if (arg.StartsWith("restart")) { isReStart = true; } if (arg.StartsWith("kill")) { var opt = arg.Split(':'); int id; if (opt.Length == 2 && int.TryParse(opt[1], out id)) { var processes = Process.GetProcesses(); if (processes.Any(process => process.Id == id)) { Process.GetProcessById(id).Kill(); } } } if (arg.StartsWith("del")) { var opt = arg.Split(':'); if (opt.Length == 2) { DirectoryHelper.DeleteRecursive(opt[1]); } } }); } #region 判断是否重复运行(重启模式不再判断) if (!isReStart) { var currentProcess = Process.GetCurrentProcess(); var location = Assembly.GetExecutingAssembly().Location; foreach (var process in Process.GetProcessesByName(currentProcess.ProcessName)) { if (process.Id != currentProcess.Id && location == currentProcess.MainModule.FileName) { MessageBox.Show("Program is running."); SystemHelper.Exit(); return; } } } #endregion base.OnStartup(e); SystemHelper.InitIcon(this, Calibur.Properties.Resources.calibur); FiddlerHelper.Start(); WebSocketHelper.Start(); CaliburService.InitialEntry(); if (!isReStart) { Utilities.RunExecutable("Chrome", StorageHelper.AchiveValue("pageloading", "http://hellerz.github.io/hellerz/")); } }
public void Bind(HTMLDocument dom) { Clean(); var pageInfo = this; //input fields foreach (dynamic item in dom.all) { if (item.tagName == "INPUT") { pageInfo.InputTags.Add(new InputTagInfo { TagName = item.tagName, Name = item.name, Value = item.value, Type = item.type }); //FiddlerHelper.Log(String.Format("input '{2}' {0}={1}", item.name, item.value, item.type)); } else if (item.tagName == "BUTTON") { FiddlerHelper.Log("BUTTON:" + item); } } //headers var sess = FiddlerHelper.GetSessionsStack().First(); foreach (HTTPHeaderItem h in sess.FiddlerSession.oResponse.headers) { pageInfo.ResponseHeaders.Add(new NameValueItem { Name = h.Name, Value = h.Value }); } foreach (HTTPHeaderItem h in sess.FiddlerSession.oRequest.headers) { pageInfo.RequestHeaders.Add(new NameValueItem { Name = h.Name, Value = h.Value }); } pageInfo.RequestType = sess.FiddlerSession.oRequest.headers.HTTPMethod; pageInfo.RequestUrl = sess.BrowsingResponse.ResponseUrl.ToString(); //query string string query = ""; switch (pageInfo.RequestType) { case "GET": var q = sess.FiddlerSession.oRequest.headers.RequestPath; var queryStringIndex = q.IndexOf("?"); if (queryStringIndex >= 0) { query = q.Substring(queryStringIndex + 1); } break; case "POST": query = sess.FiddlerSession.GetRequestBodyAsString(); break; } var qarr = query.Split('&'); foreach (string qq in qarr) { var q = qq.Split('='); if (q[0].Length > 0) { pageInfo.QueryParams.Add(new NameValueItem { Name = q[0], Value = q[1] }); } } }