RequestHandler.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. using CefSharp;
  2. using System;
  3. using System.IO;
  4. using System.Runtime.Serialization;
  5. using System.Windows.Forms;
  6. namespace UAS_Web.tool
  7. {
  8. class RequestHandler : IRequestHandler
  9. {
  10. public event Action<byte[]> NotifyMsg;
  11. IResponseFilter IRequestHandler.GetResourceResponseFilter(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
  12. {
  13. var url = new Uri(request.Url);
  14. if (url.AbsoluteUri.Contains("action"))
  15. {
  16. Console.WriteLine(request.Url);
  17. var filter = FilterManager.CreateFilter(request.Identifier.ToString()) as MessageFilter;
  18. string str = System.Text.Encoding.UTF8.GetString(filter.dataAll.ToArray());
  19. Console.WriteLine("Response" + str);
  20. return filter;
  21. }
  22. return null;
  23. }
  24. void filter_NotifyData(byte[] data)
  25. {
  26. if (NotifyMsg != null)
  27. {
  28. NotifyMsg(data);
  29. }
  30. }
  31. void IRequestHandler.OnResourceLoadComplete(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
  32. {
  33. if (request.Url.Contains("action"))
  34. {
  35. Console.WriteLine(request.Url);
  36. var filter = FilterManager.GetFileter(request.Identifier.ToString()) as MessageFilter;
  37. string str = System.Text.Encoding.UTF8.GetString(filter.dataAll.ToArray());
  38. Console.WriteLine("Request" + str);
  39. filter_NotifyData(filter.dataAll.ToArray());
  40. }
  41. }
  42. public bool GetAuthCredentials(IWebBrowser browserControl, IBrowser browser, IFrame frame, bool isProxy, string host, int port, string realm, string scheme, IAuthCallback callback)
  43. {
  44. return false;
  45. }
  46. public bool OnBeforeBrowse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, bool isRedirect)
  47. {
  48. return false;
  49. }
  50. public CefReturnValue OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback)
  51. {
  52. return CefReturnValue.Continue;
  53. }
  54. public bool OnCertificateError(IWebBrowser browserControl, IBrowser browser, CefErrorCode errorCode, string requestUrl, ISslInfo sslInfo, IRequestCallback callback)
  55. {
  56. return false;
  57. }
  58. public bool OnOpenUrlFromTab(IWebBrowser browserControl, IBrowser browser, IFrame frame, string targetUrl, WindowOpenDisposition targetDisposition, bool userGesture)
  59. {
  60. return false;
  61. }
  62. public void OnPluginCrashed(IWebBrowser browserControl, IBrowser browser, string pluginPath)
  63. {
  64. }
  65. public bool OnProtocolExecution(IWebBrowser browserControl, IBrowser browser, string url)
  66. {
  67. return false;
  68. }
  69. public bool OnQuotaRequest(IWebBrowser browserControl, IBrowser browser, string originUrl, long newSize, IRequestCallback callback)
  70. {
  71. return false;
  72. }
  73. public void OnRenderProcessTerminated(IWebBrowser browserControl, IBrowser browser, CefTerminationStatus status)
  74. {
  75. }
  76. public void OnRenderViewReady(IWebBrowser browserControl, IBrowser browser)
  77. {
  78. }
  79. public void OnResourceLoadComplete(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
  80. {
  81. }
  82. public void OnResourceRedirect(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, ref string newUrl)
  83. {
  84. //Console.WriteLine("OnResourceRedirect");
  85. }
  86. bool IRequestHandler.OnResourceResponse(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IResponse response)
  87. {
  88. return false;
  89. }
  90. public void GetData()
  91. {
  92. }
  93. }
  94. }