为什么修改http头不能在CEF中工作?

时间:2014-04-21 07:43:04

标签: google-chrome chromium chromium-embedded

我实现了CefRequestHandler接口。在OnBeforeBrowse方法中,我想添加自定义http标头,但似乎不起作用。相关代码如下

virtual bool OnBeforeBrowse( CefRefPtr< CefBrowser > browser, CefRefPtr< CefFrame > frame,
    CefRefPtr< CefRequest > request, CefRequestHandler::NavType navType, bool isRedirect )
{
    CefRequest::HeaderMap hdrMap;
    request->GetHeaderMap(hdrMap);

    hdrMap.insert(std::make_pair("Test", "test"));
    request->SetHeaderMap(hdrMap);
    return false;
}

请求参数作为指针传递,所以我认为对它执行的操作应该生效,但实际上不是。

我是新手使用CEF库,我想知道有没有办法在导航之前添加自定义标题?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您无法在那里修改请求: CefRequestHandler::OnBeforeBrowse()

但尝试实现此目的: CefRequestHandler::OnBeforeResourceLoad()