CfxResponse SetHeaderMap示例(chromiumfx)

时间:2018-08-07 11:02:30

标签: c# .net web chromium chromium-embedded

我在其中一个项目中使用了ChromiumFX,它很棒 不过,我现在要尝试的是针对到达浏览器的所有响应,修改响应标头,而且似乎无法按预期工作。

我可以使用以下事件捕获响应,即标题: _browser.RequestHandler.GetResourceHandler += new CfxGetResourceHandlerEventHandler(ResourceHandler.GetResourceHandler);

这是我捕获标头的方式,但是看起来响应一直都是只读的:

public void OnResourceResponse(object sender, CfxOnResourceResponseEventArgs e)
{
    Console.WriteLine(e.Response.IsReadOnly);   // check if read-only

    var headers = e.Response.GetHeaderMap();    // get header map
    var new_headers = new List<string[]>();

    // check for header
    for (int i = 0; i < headers.Count - 1; i++)
    {
        var header = headers[i];

        // ignore if our header
        if (header[0].Equals("content-security-policy")) continue;

        new_headers.Add(header);
    }

    e.Response.SetHeaderMap(new_headers);           // set new headers
}

我要寻找的是一个简单的示例,该示例显示了如何对ChromiumFX使用SetHeaderMap方法,无论发生什么事件,都可以让我在响应到达浏览器之前设置标头渲染

0 个答案:

没有答案