| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- using CefSharp;
- using System;
- using System.IO;
- using System.Runtime.Serialization;
- using System.Windows.Forms;
- namespace UAS_Web.tool
- {
- class RequestHandler : IRequestHandler
- {
- public event Action<byte[]> NotifyMsg;
- IResponseFilter IRequestHandler.GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
- {
- var url = new Uri(request.Url);
- if (url.AbsoluteUri.Contains("action"))
- {
- Console.WriteLine(request.Url);
- var filter = FilterManager.CreateFilter(request.Identifier.ToString()) as MessageFilter;
- string str = System.Text.Encoding.UTF8.GetString(filter.dataAll.ToArray());
- Console.WriteLine("Response" + str);
- return filter;
- }
- return null;
- }
- void filter_NotifyData(byte[] data)
- {
- if (NotifyMsg != null)
- {
- NotifyMsg(data);
- }
- }
- void IRequestHandler.OnResourceLoadComplete(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
- {
- if (request.Url.Contains("action"))
- {
- Console.WriteLine(request.Url);
- var filter = FilterManager.GetFileter(request.Identifier.ToString()) as MessageFilter;
- string str = System.Text.Encoding.UTF8.GetString(filter.dataAll.ToArray());
- Console.WriteLine("Request" + str);
- filter_NotifyData(filter.dataAll.ToArray());
- }
- }
- public bool GetAuthCredentials(IWebBrowser browserControl, IBrowser browser, IFrame frame, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
- {
- return false;
- }
- public bool OnBeforeBrowse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, bool isRedirect)
- {
- return false;
- }
- public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
- {
- return CefReturnValue.Continue;
- }
- public bool OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
- {
- return false;
- }
- public bool OnOpenUrlFromTab(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture)
- {
- return false;
- }
- public void OnPluginCrashed(IWebBrowser browserControl, IBrowser browser, string pluginPath)
- {
- }
- public bool OnProtocolExecution(IWebBrowser browserControl, IBrowser browser, string url)
- {
- return false;
- }
- public bool OnQuotaRequest(IWebBrowser browserControl, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
- {
- return false;
- }
- public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
- {
- }
- public void OnRenderViewReady(IWebBrowser browserControl, IBrowser browser)
- {
- }
- public void OnResourceLoadComplete(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
- {
- }
- public void OnResourceRedirect(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, ref string newUrl)
- {
- //Console.WriteLine("OnResourceRedirect");
- }
- bool IRequestHandler.OnResourceResponse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
- {
- return false;
- }
- public void GetData()
- {
- }
- }
- }
|