首页 > 其他分享 >NanUI网络拦截

NanUI网络拦截

时间:2023-09-26 14:47:04浏览次数:29  
标签:NanUI 网络 long Length override new 拦截 bytesRead outputBytes

public class MyResponseFilter : CefResponseFilter
    {
        private MemoryStream outputStream = new MemoryStream();
        /// <summary>
        /// 
        /// </summary>
        /// <param name="dataIn">数据输入</param>
        /// <param name="dataInSize"></param>
        /// <param name="dataInRead"></param>
        /// <param name="dataOut">数据输出</param>
        /// <param name="dataOutSize"></param>
        /// <param name="dataOutWritten"></param>
        /// <returns></returns>
        protected override CefResponseFilterStatus Filter(UnmanagedMemoryStream dataIn, long dataInSize, out long dataInRead, UnmanagedMemoryStream dataOut, long dataOutSize, out long dataOutWritten)
        {
            dataInRead = 0;
            dataOutWritten = 0;

            byte[] buffer = new byte[4096];
            int bytesRead = 0;

            do
            {
                bytesRead = dataIn.Read(buffer, 0, buffer.Length);
                if (bytesRead > 0)
                {
                    outputStream.Write(buffer, 0, bytesRead);
                }
            } while (bytesRead > 0);

            byte[] outputBytes = outputStream.ToArray();
            dataOut.Write(outputBytes, 0, outputBytes.Length);

            dataInRead = outputBytes.Length;
            dataOutWritten = outputBytes.Length;
            //var txt= Encoding.UTF8.GetString(outputBytes, 0, outputBytes.Length);
            return CefResponseFilterStatus.Done;
        }

        protected override bool InitFilter()
        {
            return true;
        }
    }
public class MyResourceRequestHandler : CefResourceRequestHandler
    {
        protected override CefCookieAccessFilter? GetCookieAccessFilter(CefBrowser browser, CefFrame frame, CefRequest request)
        {
            return null;
        }
        protected override CefResponseFilter? GetResourceResponseFilter(CefBrowser browser, CefFrame frame, CefRequest request, CefResponse response)
        {
          
            return new MyResponseFilter();
        }
       
    }
private void MainWindow_GetResourceRequestHandler(object? sender, GetResourceRequestHandlerEventArgs e)
        {
           e.Handler = new MyResourceRequestHandler();
        }
this.GetResourceRequestHandler += MainWindow_GetResourceRequestHandler;

 

标签:NanUI,网络,long,Length,override,new,拦截,bytesRead,outputBytes
From: https://www.cnblogs.com/zhangliang2008/p/17730047.html

相关文章

  • Linux_网络基本命名行
    Linux网络基本命令ifconfig#是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是networkinterfacesconfiguring ping#指令会使用ICMP(InternetControlMessageProtocol)传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得......
  • ubuntu系统配置静态IP网络
    三个步骤,确认网卡文件,修改配置,应用配置。  12确认网卡文件,修改配置cd/etc/netplanls-lsudovi00- 原配置 修改:network:ethernets:ens160:addresses:-192.168.1.1/26nameservers:addresses:[114.114.114.114]......
  • 网络协议的重要性与应用:理解进程间通信和网络分层结构(上)
    进程间通信有多种方式,包括管道、消息队列、共享内存和信号等。然而,如果不同设备上的进程需要进行通信,就只能通过网络来实现。由于设备的多样性,为了兼容各种设备,就需要一个统一通用的网络协议。学习网络协议的关键是了解其分层结构。之前在计算机基础专栏已经提到过网络分层的好处......
  • NTP子母钟系统(NTP网络时钟服务器)助力数字化校园建设
    NTP子母钟系统(NTP网络时钟服务器)助力数字化校园建设NTP子母钟系统(NTP网络时钟服务器)助力数字化校园建设京准电子科技官微——ahjzsz 【摘要】时钟系统是校园网络中一个重要的精准计时系统,随着网络的普及,许多校园都建了自己的校园专网,使用的网络设备和服务器也日益增多,这些设备......
  • Linux下的网络抓包tcpdump
    tcpdump[-AdDefIJKlLnNOpqRStuUvxX][-Bbuffer_size][-ccount][-Cfile_size][-Grotate_seconds][-Ffile][-iinterface][-jtstamp_type][-mmodule][-Msecret][-Q|-Pin|out|inout][-rfile][-ssnaplen][-Ttype][-wfile......
  • 16张动图讲透网络原理
    趣味解读什么是网络网络其实存在于日常生活中的每一个角落。你的电脑,打印机,手机,甚至电视等等都属于网络设备。通常,你需要将这些设备通过网络连接起来,这样就可以实现数据的传输和共享,让工作生活更加便捷。如果你的连接没有问题,就可以通过电脑给打印机发送指令,让它帮你打印资料。或者......
  • 基于Vgg16和Vgg19深度学习网络的步态识别系统matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022A 3.算法理论概述       步态识别作为生物特征识别领域的一个重要分支,在人体运动分析、身份验证、健康监测等方面具有广泛的应用前景。步态能量图(GaitEnergyImage,简称GEI)是一种有效的步态表示方法,通过......
  • 综合概念映射和网络问题解决方法对学生学习成绩、感知和认知负荷的影响
    (Effectsofanintegratedconceptmappingandweb-basedproblem-solvingapproachonstudents’learningachievements,perceptionsandcognitiveloads) Computers&Education71(2014)77–86一、摘要研究目的:虽然学生可以通过适当的关键词有效地搜索到网络数据,并......
  • 计算机网络的分类
    计算机网络的分类交换方式:电路交换、报文交换、分组交换使用者:公用网(因特网)、专用网(军队、铁路、电力、银行)传输介质:有线网络、无线网络覆盖范围:拓步结构:......
  • 拦截器详解
       ......