webkit2gtk3實現跳過網頁https認證(顯示白屏)

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);

最後附上官網接口地址:

https://webkitgtk.org/reference/webkit2gtk/stable/index.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章