1、https跳过ca认证
通过webkit2gtk3实现网页之后遇到一个问题,就是在显示https网页的时候由于ca证书的问题,在正常浏览器上会提示非安全的网站,然后仍然打开就ok了,但是在webkit2gtk3网页上去始终出现白屏的情况,找了半天终于找到了忽略ca错误的接口,
在load url之前写:
webkit_web_context_set_tls_errors_policy(context, WEBKIT_TLS_ERRORS_POLICY_IGNORE);
即可忽略ca错误正常显示网页。
2、添加cookie
WebKitWebContext* context = webkit_web_view_get_context(WEBKIT_WEB_VIEW(webview));
WebKitCookieManager* cookie = webkit_web_context_get_cookie_manager(context);
SoupCookie soupCookit = {0};
soupCookit.name = "token";
soupCookit.path = "/";
soupCookit.value = token;
soupCookit.domain = host;
webkit_cookie_manager_add_cookie(cookie,&soupCookit,NULL,NULL,NULL);
SoupCookie webviewCookit = {0};
webviewCookit.name = "x-webview";
webviewCookit.path = "/";
webviewCookit.value = "1";
webviewCookit.domain = host;
webkit_cookie_manager_add_cookie(cookie,&webviewCookit,NULL,NULL,NULL);
3、资源加载(接口调用)
static void _resource_load_started(WebKitWebView *web_view,WebKitWebResource *resource,WebKitURIRequest *request,gpointer priv){
const char* p = webkit_uri_request_get_uri(request);
//p即是页面上请求的资源路径,可针对不同的路径做出不同的页面响应操作(比如退出关闭页面)
}
g_signal_connect(WEBKIT_WEB_VIEW(webview),"resource_load_started",G_CALLBACK(_resource_load_started),window);
最后附上官网接口地址: