User-Agent (用戶代理)
用戶代理是一種瀏覽器的原生短字符串。通過讀取用戶代理字符串,網(wǎng)站可以識別您的瀏覽器及操作系統(tǒng)的版本。
下面是一個用戶代理值的示例
Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.2785.8Safari/537.36
在這個例子中,網(wǎng)站將推測用戶使用的是Windows 8.1和Chrome 62。“NT 6.3”是Windows發(fā)行的不同版本。您可以在Wikipedia article維基百科中查看其他已發(fā)行的版本。
創(chuàng)建瀏覽器配置文件時,遵循您在概覽頁面的關(guān)于操作系統(tǒng)過濾器的選擇,用戶代理值從VMLogin的指紋數(shù)據(jù)庫被獲取。您可以在導(dǎo)航欄頁面查看指紋瀏覽器配置文件的用戶代理值。

如果您決定在VMLogin中手動設(shè)置用戶代理值,請確該值與平臺值(Platform)保持一致。用戶代理值和平臺存在差異將是很嚴(yán)重的錯誤
SEC-CH-UA
User Agent Client Hints / navigator.userAgentData 指紋設(shè)置,(user-agent自定義參數(shù),chrome 后面可能會淘汰user-agent:,用的是header中:sec-ch-ua開頭的參數(shù)。一般用戶只要選擇默認的[自動模式]即可)


Platform(平臺)
平臺的屬性是一個Navigator的對象參數(shù),可以用于指明瀏覽器的編譯平臺。
新建瀏覽器文件時,平臺值和用戶代理同時被獲取。兩個值都會受到概覽頁面的操作系統(tǒng)過濾器的影響。您也可以在導(dǎo)航欄(Navigator)頁面手動設(shè)置這個值。
桌面瀏覽器可用的平臺值:
Linux i686
Linux armv7l
MacIntel
Win64
Win32 (注意:模擬windows操作系統(tǒng)時, Platform(平臺) 的值都是win32)
移動瀏覽器可用的平臺值:
iPhone
iPod
iPad
Android
您可以從Stackoverflow article上獲取可用Navigator.Platform值的完整列表。
高手 User-Agent 配置不得不熟悉
首先,我們來了解一下什么是 User-Agent。
User-Agent會告訴網(wǎng)站服務(wù)器,訪問者是通過什么工具來請求的,里面包含了瀏覽器和系統(tǒng)相關(guān)版本信息。
我們每次http請求頭部都會帶有 User-Agent 字段(如下圖):

User-Agent字段解釋
我用的Chrome瀏覽器,查看User-Agent的結(jié)果:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
User-Agent通常格式:
Mozilla/5.0 (平臺) 引擎版本 瀏覽器版本號
第一部分:Mozilla/5.0
由于歷史上的瀏覽器大戰(zhàn),當(dāng)時想獲得圖文并茂的網(wǎng)頁,就必須宣稱自己是 Mozilla 瀏覽器。此事導(dǎo)致如今User-Agent里通常都帶有Mozilla字樣,出于對歷史的尊重,大家都會默認填寫該部分。
第二部分:平臺這部分可由多個字符串組成,用英文半角分號分開
Windows NT 10.0是指我使用的操作系統(tǒng)的版本,比如我使用的win10對應(yīng)的就是Windows NT 10.0,如果我使用win7對應(yīng)的就是Windows NT 6.1。
Win64; x64是指我的操作系統(tǒng)是64位的
Windows系統(tǒng)下:
Windows NT 5.0 // 如 Windows 2000 Windows NT 5.1 // 如 Windows XP Windows NT 6.0 // 如 Windows Vista Windows NT 6.1 // 如 Windows 7 Windows NT 6.2 // 如 Windows 8 Windows NT 6.3 // 如 Windows 8.1 Windows NT 10.0 // 如 Windows 10 Win64; x64 // Win64 on x64 WOW64 // Win32 on x64
Linux系統(tǒng)下:
X11; Linux i686; // Linux 桌面,i686 版本 X11; Linux x86_64; // Linux 桌面,x86_64 版本 X11; Linux i686 on x86_64 // Linux 桌面,運行在 x86_64 的 i686 版本
macOS系統(tǒng)下:
Macintosh; Intel Mac OS X 10_9_0 // Intel x86 或者 x86_64 Macintosh; PPC Mac OS X 10_9_0 // PowerPC Macintosh; Intel Mac OS X 10.12; // 不用下劃線,用點
第三部分:引擎版本
AppleWebKit/537.36 (KHTML, like Gecko)…Safari/537.36,歷史上,蘋果依靠了WebKit內(nèi)核開發(fā)出Safari瀏覽器,WebKit包含了WebCore引擎,而WebCore又從KHTML衍生而來。由于歷史原因,KHTML引擎需要聲明自己是“類似Gecko”的,因此引擎部分這么寫。再后來,Google開發(fā)Chrome也是用了WebKit內(nèi)核,于是也跟著這么寫。借用Littern的一句話:“Chrome 希望能得到為Safari編寫的網(wǎng)頁,于是決定裝成Safari,Safari使用了WebKit渲染引擎,而WebKit呢又偽裝自己是KHTML,KHTML呢又是偽裝成Gecko的。同時所有的瀏覽器又都宣稱自己是Mozilla?!?。不過,后來Chrome 28某個版本改用了blink內(nèi)核,但還是保留了這些字符串。而且,最近的幾十個版本中,這部分已經(jīng)固定,沒再變過。
第四部分:瀏覽器版本
本人用的是Chrome瀏覽器,其中75.0 是大版本,3371是持續(xù)增大的一個數(shù)字,而100則是修補漏洞的小版本。
關(guān)于 User-Agent 的總結(jié):當(dāng)我們設(shè)置了User-Agent字段,那么就要理解這個字段里的所有信息的含義,知道我們設(shè)置的是什么,告訴網(wǎng)站服務(wù)器我們用的是什么瀏覽器,是什么操作系統(tǒng),以及其它一些信息。我們其它的配置最好不要和 User-Agent 里的意思相違背。