简体   繁体   English

cefsharp如何截获xhr请求以获取响应正文值?

[英]how can cefsharp intercept xhr request to obtain response body value?

Is CefSharp able to intercept XHRHttpRequest and obtain the response body value? CefSharp是否能够拦截XHRHttpRequest并获取响应正文值? if yes, I would like to know how it is done. 如果是,我想知道如何完成。

I created the following class for this and return instance of it from IRequestHandler.GetResourceResponseFilter : 我为此创建了以下类,并从IRequestHandler.GetResourceResponseFilter返回其实例:

internal class ResponseSniffer : IResponseFilter
{
    private readonly Action<Stream> _streamHandler;

    public ResponseSniffer(Action<Stream> streamHandler)
    {
        _streamHandler = streamHandler;
    }

    public void Dispose()
    {
    }

    public bool InitFilter()
    {
        return true;
    }

    public FilterStatus Filter(Stream dataIn, out long dataInRead, Stream dataOut, out long dataOutWritten)
    {
        if (dataIn == null)
        {
            dataInRead = 0;
            dataOutWritten = 0;
            return FilterStatus.Error;
        }
        dataIn.CopyTo(dataOut);
        dataInRead = dataIn.Length;
        dataOutWritten = dataInRead;

        dataIn.Position = 0;
        _streamHandler(dataIn);
        return FilterStatus.Done;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM