安卓WebView的User Agent

在開發(fā)時我們可能遇到這樣一個問題:如何使WebView打開網(wǎng)頁時以平板或者電腦模式打開,而不是以手機(jī)模式。其實(shí)WebView已經(jīng)提供了方法,那就是設(shè)置WebView的User Agent。

關(guān)于User Agent

UA對于網(wǎng)站開發(fā)人員來說很熟悉,我們經(jīng)常在HTTP請求的請求頭中可以看到User-Agent這一字段。維基百科里是這樣定義的:

在計(jì)算機(jī)科學(xué)中,User Agent(用戶代理)指的是代表用戶行為的軟件所提供的對自己的一個標(biāo)識符。

簡單來說,UA是一個特定的字符串,它通常包含了發(fā)送請求端的應(yīng)用程序類型、操作系統(tǒng)、軟件供應(yīng)商以及軟件的修訂版本等信息。格式通常是:

  • Mozilla/[version]([system and browser information])[platform]([platform details])[extensions]

例如,我的iPad的Safari使用的UA是:
Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53

我的電腦的Google瀏覽器的UA是:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36

我的手機(jī)的瀏覽器的UA是:
Mozilla/5.0 (Linux; Android 5.1; MZ-m1 metal Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0

動態(tài)設(shè)置UA

WebView的UA設(shè)置是通過WebSettings來設(shè)置的:

可以看到官方的說明:從4.4開始如果在網(wǎng)頁加載中改變UA的話會使W重新加載,而在4.4之前則不會。

當(dāng)然,如果想獲取WebView的當(dāng)前UA,也可以通過WebSettings來獲?。?/p>

UA的切換比較簡單,就不貼代碼了。主要是做下備忘并希望能幫助到一些不了解這塊知識的童鞋。

最后,在實(shí)際使用中,我們可以通過設(shè)置不同的UA來獲取到不同的網(wǎng)頁數(shù)據(jù),比如對于大部分視頻網(wǎng)站,使用電腦的UA,播放器會加載成flash播放流,而如果我們將UA設(shè)置為ipad,則會加載成HTMH5的video標(biāo)簽,返回的是們m3u8或mp4地址。flash播放需要加載flash插件,而m3u8或mp4則直接可以使用系統(tǒng)播放器進(jìn)行播放,這樣的話,就有點(diǎn)意思了,嘿嘿~

如果你覺得有用的話,記得點(diǎn)喜歡哦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、基礎(chǔ)知識篇:Http Header之User-AgentUser Agent中文名為用戶代理,是Http協(xié)議中...
    iPhone閱讀 16,245評論 0 13
  • 一、基礎(chǔ)知識篇:Http Header之User-AgentUser Agent中文名為用戶代理,是Http協(xié)議中...
    大牧莫邪閱讀 66,534評論 3 21
  • 在爬取信息的過程中,最煩的莫過于程序報(bào)出各種代碼的網(wǎng)絡(luò)連接的錯誤,類似HTTP ERROR、WIN ERROR 1...
    八神蒼月閱讀 2,457評論 0 10
  • 在互聯(lián)網(wǎng)上抓取數(shù)據(jù)的時候,經(jīng)常需要程序偽裝成瀏覽器來避開服務(wù)端的一些限制,這是收集的一些瀏覽器的User-Agen...
    venter_zhu閱讀 7,590評論 0 14
  • 我在反復(fù)的問自己,我到底喜歡他什么,是什么讓我不愿意放手。 這樣的生活,我覺得累了。 自己作賤不愿意放手,自己的苦...
    子西柚閱讀 192評論 0 0

友情鏈接更多精彩內(nèi)容