鍍金池/ 問(wèn)答/HTML5  HTML/ 求解下述user_agent 里面的具體含義?user_agent可以修改嗎?

求解下述user_agent 里面的具體含義?user_agent可以修改嗎?

clipboard.png
如圖所示現(xiàn)在有幾個(gè)問(wèn)題為如下 煩請(qǐng)大神回答下:
1.這個(gè)useragent怎么分割去看呢?是用 '/'作為分隔符嗎?
2.在第一紅色框框中抓到了 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/s...
這句話在useragent里面是什么意思?
2.在第二個(gè)紅色框框中 這個(gè)user_agent:
' Mozilla/5.0 (Linux; U; Android 5.1.1; zh-CN; OPPO R9 Plust A Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/11.6.4.950 UCBS/2.11.1.26 Mobile Safari/537.36 AliApp(TB/7.2.1) WindVane/8.0.0 1080X1920 '中具體各個(gè)內(nèi)容是這樣分割的嗎?

看到Android 5.1.1 是不是說(shuō)這個(gè)手機(jī)是android系統(tǒng)?

看到 OPPO R9 Plust 是不是說(shuō)明是OPPO手機(jī)?

看到4.0 Chrome 是不是說(shuō)明是 Chrome 瀏覽器 但是 UCBrowser 又是UC瀏覽器 ,同時(shí)又看到
Mobile Safari 這個(gè)東西,這不是 蘋(píng)果自帶的safari瀏覽器嗎? 那么這樣這不是就矛盾了嗎?

求大神詳細(xì)解釋下,這兩條ueer_agent 的具體含義?
另外,為什么他們的差異這么大,如果我想提取出不同的字段部分,怎么提出來(lái)呢?

Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/s...

Mozilla/5.0 (Linux; U; Android 5.1.1; zh-CN; OPPO R9 Plust A Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/11.6.4.950 UCBS/2.11.1.26 Mobile Safari/537.36 AliApp(TB/7.2.1) WindVane/8.0.0 1080X1920

Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/s...

clipboard.png

回答
編輯回答
懷中人

UA就是用來(lái)標(biāo)識(shí)訪問(wèn)者是什么瀏覽器/設(shè)備的,瀏覽器和爬蟲(chóng)開(kāi)發(fā)時(shí)都可以隨意修改,基本各大瀏覽器也都有UA修改插件

1、一般你可以選擇直接正則匹配就行了,比如騰訊網(wǎng)首頁(yè)里的js就是這么做的,因?yàn)橐恍g覽器本身兼容性不行,會(huì)干脆把其他UA也加入自己的UA里來(lái)強(qiáng)行欺騙服務(wù)端來(lái)減少網(wǎng)頁(yè)不兼容提示(比如Edge,還有國(guó)內(nèi)的360,一個(gè)IE口碑太差一個(gè)本身口碑太差都被逼的)

2、這個(gè)是百度爬蟲(chóng)...Baiduspider,Baidu Spider,沒(méi)什么好說(shuō)的

UA本身可以隨便修改的,所以不要嘗試提取不同的部分,比如我寫(xiě)個(gè)特殊接口,要求使用UA傳遞加密參數(shù)后才能訪問(wèn),你怎么截???你應(yīng)該明確你需要提取哪些信息(比如瀏覽器,訪問(wèn)設(shè)備等),然后通過(guò)正則去匹配是否存在關(guān)鍵字,而不是把UA每一部分都拆開(kāi),問(wèn)題的關(guān)鍵在于UA本身沒(méi)有一個(gè)統(tǒng)一規(guī)范,在HTTP規(guī)范中只說(shuō)了UA應(yīng)該用作統(tǒng)計(jì)用途,但是并沒(méi)有規(guī)定具體擁有哪些字段和如何解析

2018年8月11日 01:08