RequestHandler.cs 5.0 KB

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