old_flsystem/类库/Api.Framework/Cps/CefSharp1/CEFResponseHandler.cs

56 lines
2.1 KiB
C#

using CefSharp;
using CefSharp.Handler;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Api.Framework.Cps.CefSharp1
{
/// <summary>
/// 拦截响应数据
/// </summary>
public class CEFResponseHandler : ResourceRequestHandler
{
Action<string, string> JsonAction;
public CEFResponseHandler(Action<string, string> JsonAction)
{
this.JsonAction = JsonAction;
}
private readonly System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
protected override IResponseFilter GetResourceResponseFilter(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response)
{
var sss = new CefSharp.ResponseFilter.StreamResponseFilter(memoryStream);
return sss;
}
protected override void OnResourceLoadComplete(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IRequest request, IResponse response, UrlRequestStatus status, long receivedContentLength)
{
//You can now get the data from the stream
var bytes = memoryStream.ToArray();
//var str1 = System.Text.Encoding.UTF8.GetString(bytes);
//Console.WriteLine(str1 + " = str1");
//if (str1.Contains("优芙"))
//{
//}
//https://buyin.jinritemai.com/api/author/order/details?author_app_id=1128&user_id=1460607342872671&start_time=1625036432&end_time=1625641232&time_type=1&page=1&pageSize=20&_signature=_02B4Z6wo00101S-ErAQAAIDCEAIaIFYsB.0vgKiAACsHDhdlaobXsro5mjL-ohtCATVjsCaDIQPNiWIbrQwGsR5suxHYJOJ2oQ6unSqn.loaNiMcqo.PA4VvXk0FA8ueolBWm739wlv1HXZ64a
if (response.Charset == "utf-8" && request.Url.Contains("buyin.jinritemai.com/api/author/order/details?"))
{
var str = System.Text.Encoding.UTF8.GetString(bytes);
JsonAction?.Invoke(request.Url, str);
}
else
{
//Deal with different encoding here
}
}
}
}