webbrowser. , , , .
:
Awesomium, , . .
Fiddler . API /tamper/... . -, mime- HTML DOM ( HtmlAgility pack!!!!!) 200 http .
, . - WPF, winform :
public partial class App : Application
{
static App()
{
SetupInternalProxy();
SetupBrowser();
}
private static void SetupInternalProxy()
{
FiddlerApplication.AfterSessionComplete += FiddlerApplication_AfterSessionComplete;
FiddlerApplication.Log.OnLogString += (o, s) => Debug.WriteLine(s);
FiddlerCoreStartupFlags oFCSF = FiddlerCoreStartupFlags.Default;
oFCSF = (oFCSF & ~FiddlerCoreStartupFlags.RegisterAsSystemProxy);
FiddlerApplication.Startup(0, oFCSF);
}
private static void SetupBrowser()
{
if (!WebCore.IsRunning)
{
WebCoreConfig config = new WebCoreConfig
{
ProxyServer = "http://127.0.0.1:" + FiddlerApplication.oProxy.ListenPort.ToString(),
EnablePlugins = true,
SaveCacheAndCookies = true,
UserDataPath = Environment.ExpandEnvironmentVariables(@"%APPDATA%\MyApp"),
};
WebCore.Initialize(config);
}
else
{
throw new InvalidOperationException("WebCore should be already running");
}
}
private static void FiddlerApplication_AfterSessionComplete(Session oSession)
{
DoSomethingWith(
oSession.PathAndQuery,
oSession.ResponseBody,
oSession["Response", "Content-Type"]
);
}
}
, AfterSessionComplete. ( SDK Fiddler, ).
: ( Program Winform). ( ), Windows. , AfterSessionComplete , . - Invoking .