WebView SslError Mixed Content 問(wèn)題

WebView SslError Mixed Content 問(wèn)題

Tags: webview


出現(xiàn)的問(wèn)題

WebView 在加載某個(gè)地址時(shí)發(fā)現(xiàn)空白的塊(iframe),也就是這塊沒(méi)有加載到
查看logcat的日志:

[INFO:CONSOLE(0)] "Mixed Content: The page at 'https://xxx.com' was loaded over HTTPS, but requested an insecure script 'http://player.youku.com/jsapi'. This content should also be served over HTTPS.", source: https://xxx.com/ykplayer

這個(gè)頁(yè)面使用https協(xié)議的毛俏,內(nèi)部嵌入了優(yōu)酷播放器的iframe纹份,而優(yōu)酷的URL是http協(xié)議的超埋,
也就是https混合http資源等的問(wèn)題

解決方案

  • 重寫(xiě)WebViewClient的方法來(lái)忽略這類(lèi)ssl錯(cuò)誤
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    // 默認(rèn)是handle.cancel()的,即遇到錯(cuò)誤即中斷
    handler.proceed();
}

設(shè)置忽略錯(cuò)誤后在API 19 (包括KITKAT_WATCH)以前是可以正澈┑撸看到內(nèi)容的了,但在API 21+還是空白的。

原來(lái)是在API 21以前WebSettings#getMixedContentMode默認(rèn)返回都是WebSettings.MIXED_CONTENT_ALWAYS_ALLOW,在這之后默認(rèn)是MIXED_CONTENT_NEVER_ALLOW

所以需要在webview的設(shè)置屬性中主動(dòng)設(shè)置setMixedContentMode

if (Build.VERSION.SDK_INT >= 21) {
    webview.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}

setMixedContentMode

/**
 * Configures the WebView's behavior when a secure origin attempts to load a resource from an
 * insecure origin.
 *
 * By default, apps that target {@link android.os.Build.VERSION_CODES#KITKAT} or below default
 * to {@link #MIXED_CONTENT_ALWAYS_ALLOW}. Apps targeting
 * {@link android.os.Build.VERSION_CODES#LOLLIPOP} default to {@link #MIXED_CONTENT_NEVER_ALLOW}.
 *
 * The preferred and most secure mode of operation for the WebView is
 * {@link #MIXED_CONTENT_NEVER_ALLOW} and use of {@link #MIXED_CONTENT_ALWAYS_ALLOW} is
 * strongly discouraged.
 *
 * @param mode The mixed content mode to use. One of {@link #MIXED_CONTENT_NEVER_ALLOW},
 *     {@link #MIXED_CONTENT_ALWAYS_ALLOW} or {@link #MIXED_CONTENT_COMPATIBILITY_MODE}.
 */
public abstract void setMixedContentMode(int mode);

使用全站https化后最好是全部資源都https化杠茬,避免這種混合的情況出現(xiàn)琳拨,因?yàn)閷?duì)安全有所影響瞭恰,所以GooglePlay市場(chǎng)是不允許這個(gè)忽略ssl錯(cuò)誤的App上架的。這里忽略錯(cuò)誤而繼續(xù)使用時(shí)是一些第三方?jīng)]有https化無(wú)奈的做法狱庇,也是迫不得已的惊畏。

如果需要考慮安全問(wèn)題的情況恶耽,則要慎重忽略這類(lèi)錯(cuò)誤。

參考:
https://stackoverflow.com/questions/28626433/android-webview-blocks-redirect-from-https-to-http
https://stackoverflow.com/questions/31509277/webview-images-are-not-showing-with-https

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末颜启,一起剝皮案震驚了整個(gè)濱河市偷俭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缰盏,老刑警劉巖社搅,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異乳规,居然都是意外死亡形葬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)暮的,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)笙以,“玉大人,你說(shuō)我怎么就攤上這事冻辩〔螅” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵恨闪,是天一觀的道長(zhǎng)倘感。 經(jīng)常有香客問(wèn)我,道長(zhǎng)咙咽,這世上最難降的妖魔是什么老玛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮钧敞,結(jié)果婚禮上蜡豹,老公的妹妹穿的比我還像新娘。我一直安慰自己溉苛,他們只是感情好镜廉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著愚战,像睡著了一般娇唯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上寂玲,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天塔插,我揣著相機(jī)與錄音,去河邊找鬼敢茁。 笑死佑淀,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伸刃,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谎砾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了捧颅?” 一聲冷哼從身側(cè)響起景图,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碉哑,沒(méi)想到半個(gè)月后挚币,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扣典,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年妆毕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贮尖。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笛粘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出湿硝,到底是詐尸還是另有隱情薪前,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布关斜,位于F島的核電站示括,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏痢畜。R本人自食惡果不足惜垛膝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裁着。 院中可真熱鬧繁涂,春花似錦拱她、人聲如沸二驰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)桶雀。三九已至,卻和暖如春唬复,著一層夾襖步出監(jiān)牢的瞬間矗积,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工敞咧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棘捣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓休建,卻偏偏與公主長(zhǎng)得像乍恐,于是被迫代替她去往敵國(guó)和親评疗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容