CEF 访问需要认证网页或接口(在Request的Headers中添加认证Token)
2024-08-31 20:38:02
转载: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;
}
最新文章
- Asp.Net Core 发布和部署(Linux + Jexus )
- CentOS学习笔记--时间
- 【Android 界面效果40】Android4.0-Fragment框架实现方式剖析(一)
- Commons JXPath - Modifying Object Graphs
- (转)重置Mac OS X管理员密码
- [Mugeda HTML5技术教程之9]使用元件
- leetcode Jump Game II python
- ASP.NET PipeLine #Reprinted#
- UVa 10226 - Hardwood Species
- JS立即执行函数表达式(IIFE)
- java 学习笔记——类之间的关系之封装、继承与多态的详解
- hdu_4869(费马小定理+快速幂)
- 使用swagger管理接口
- 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!
- SqlServer如何给表添加新的字段以及字段注释
- MySQL启动错误---发生系统错误/系统找不到指定的文件。
- Wordpress搭建
- js-ES6学习笔记-Promise对象(2)
- 【Git】删除某个全局配置项
- 03_Flume多节点Failover实践