我在其中一个项目中使用了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
方法,无论发生什么事件,都可以让我在响应到达浏览器之前设置标头渲染