ChromiumFX即时修改响应标头

时间:2018-08-07 08:06:46

标签: c# .net networking web chromium

我正在寻找一种使用ChromiumFX即时修改响应标头的方法(在将它们加载到浏览器之前)

这是我到目前为止尝试过的:

首先,我设置事件处理程序以修改响应事件

_browser.RequestHandler.GetResourceResponseFilter += new CfxGetResourceResponseFilterEventHandler(eh.GetResourceResponseFilter);

这是用作回调的方法

public void GetResourceResponseFilter(object sender, CfxGetResourceResponseFilterEventArgs e)
{
    // we're doing modifycations only for example.com
    if (!e.Request.Url.Contains("example.com")) return;

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

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

        // if we're on our header, ignore it
        if (header[0].Equals("remove-me")) continue;

        // otherwise, add it to new headers list
        new_headers.Add(header);
    }

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

由于某种原因,这似乎并未在浏览器中进行任何更改。

我正在遍历所有标头,检查我的标头,如果存在,请忽略它。所有其他标头都添加到new_headers列表中,并使用SetHeaderMap进行设置。该方法似乎没有任何效果。

0 个答案:

没有答案