首页 > Web开发 > 详细

CEF 访问需要认证网页或接口(在Request的Headers中添加认证Token)

时间:2019-05-15 15:58:21      阅读:709      评论:0      收藏:0      [点我收藏+]

转载:https://blog.csdn.net/wdw984/article/details/85275289

1.首先要让我们自己的CefClient这个类公有继承CefRequestHandler

技术分享图片

2.添加Request事件构造函数

CefRefPtr<CefRequestHandler> GetRequestHandler() OVERRIDE{ return this; }

3.然后重写父类的OnBeforeBrowse和OnBeforeResourceLoad两个方法

在.h文件中添加函数声名

virtual bool OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
            CefRefPtr<CefFrame> frame,
            CefRefPtr<CefRequest> request,
            bool user_gesture,
            bool is_redirect) OVERRIDE;

        virtual ReturnValue OnBeforeResourceLoad(
            CefRefPtr<CefBrowser> browser,
            CefRefPtr<CefFrame> frame,
            CefRefPtr<CefRequest> request,
            CefRefPtr<CefRequestCallback> callback) OVERRIDE;

在.cpp中重写函数

bool CCefBrowserEventHandler::OnBeforeBrowse(CefRefPtr<CefBrowser> browser,
        CefRefPtr<CefFrame> frame,
        CefRefPtr<CefRequest> request,
        bool user_gesture,
        bool is_redirect) {
        CEF_REQUIRE_UI_THREAD();

        return false;
    }

    CefRequestHandler::ReturnValue CCefBrowserEventHandler::OnBeforeResourceLoad(
        CefRefPtr<CefBrowser> browser,
        CefRefPtr<CefFrame> frame,
        CefRefPtr<CefRequest> request,
        CefRefPtr<CefRequestCallback> callback)
    {
        wstring g_tokenValue;
        CefRequest::HeaderMap headers;
        headers.insert(std::make_pair(L"Authorization",g_tokenValue.c_str()));

        request->SetHeaderMap(headers);

        return RV_CONTINUE;
    }

 

CEF 访问需要认证网页或接口(在Request的Headers中添加认证Token)

原文:https://www.cnblogs.com/chechen/p/10869193.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!