Mozilla User-Agent 说明2010-02-20 21:22那些统统被探测为 Mozilla User-Agent 的浏览器
必须承认,事实上,这不是 JavaScript 的错,是各个浏览器有意为之。比如,以下是用 JavaScript 探测 Safari 时得到的结果:
是否注意到其中的第一个单词 Mozilla/5.0,为什么 Safari 会被探测为 Mozilla,尽管 Safari 后来已经纠正这一问题,但仍然不能解释为什么它们要这样误导开发者。事实上,你会发现,绝大多数浏览器把他们的 User Agent 设置为 Mozilla,答案要回到10年前,这更多是一种策略。
User Agent 是一段用来标识当前浏览器身份的字符串,世界上第一个浏览器 Mosaic, 曾这样标志自己:
这很合理,因此当 Netscape 出来的时候,它保留了 Mosaic 这个传统,还在后面添加了一个加密方式部分。
到目前为止,一切安好,直到 IE3 发布,当 IE3 发布的时候,Netscape 正如日中天,那时,很多服务器和程序已经部署了客户端探测机制,以便认出 Netscape,虽然现在看来,这很值得争议,但当时并没什么。当 IE 初次推出它们的 User Agent 标志的时候,是这个样子:
这让 IE 很被动,因为 Netscape 已经能被很多服务器识别,因此,开发者们干脆希望 IE 被误认为 Mozilla,然后,再单独加一个 IE 的标签。
如今,几乎所有浏览器都步 IE 后尘,将自己标识为 Mozilla,这大概是一种连锁反应。
分享到:
相关推荐
String str = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36"; System.out.println(str); try { UserAgentInfo userAgentInfo = ...
"user_agent": "Mozilla/5.0 (Linux; Android 10; LM-Q730) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Mobile Safari/537.36" }, { "equipment_type": "PC", "system_type": "Windows", ...
一个简单的User-Agent库,可以从一条User-Agent字符串获取该用户的相关信息。 支持平台: Node.JS / (Windows) Classical ASP / (Windows) WScript / (Windows) CScript / Internet Explorer 6 / Google Chrome /...
本文实例讲述了python使用自定义user-agent抓取网页的方法。...req.add_header('User-agent', 'Mozilla 5.10') res = urllib2.urlopen(req) html = res.read() 希望本文所述对大家的Python程序设计有所帮助。
User-agent-ml检测用户代理字符串是指向bot还是指向合法的浏览器。 该方法是混合的:它基于规则和机器学习。 基于规则的部分可以提高效率,因为大多数bot命中都来自众所周知的来源(例如搜索引擎),而机器学习部分...
这篇文章主要介绍了python爬虫模拟浏览器访问-User...headers = {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36} #通过urllib2.Re
If you need to parse more strings, you can re-use // this object and call: ua.Parse("another string") ua := user_agent . New ( "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) ...
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36' } '''获取所有的作者对应的作品的url''' def get_auth_poey_urls(): ...
用法示例const userAgent = require ( 'user-agent-parse' ) ;userAgent . parse ( 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/526.9 (KHTML, like Gecko) Version/4.0dp1 Safari/526.8' ) ;// => ...
User-Agent实用程序-从用户代理标头中提取详细信息 通过NuGet安装 PM> Install-Package UAUtil 如何使用 string userAgent = " Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko " ; ...
不管是做开发还是做过网站的朋友们,应该对于User Agent一点都不陌生,User Agent 中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器...
8. Firefox:Mozilla构建的浏览器 9. Safari:Apple开发的浏览器 10. Internet Explorer,Edge:Microsoft构建的两个浏览器。注意:为了报告错误,请访问Addon的主页...
一看不得了,基本上都是被一个User Agent叫”YisouSpider”的东西给刷屏了,一看就不知道是哪的蜘蛛,太没节操了。 找到根目录配置区,增加User Agent过滤判断语句,发现叫”YisouSpider”的直接返回403 注1:如果...
在编写爬虫爬取数据的时候,因为很多网站都有反爬虫措施,所以很容易被封IP,就不能继续爬了...headers ={‘User-Agent’:’Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36"} # 定义一个新函数getPositionInfo,包含参数detail_...
1、根据User-Agent判断 // Js获取User-Agent window.navigator.userAgent if(window.navigator.userAgent.match(/MicroMessenger/i) == "micromessenger") // Php获取User-Agent echo $_SERVER['HTTP_USER_AGENT'...
headers = {"User-Agent":"Mozilla/5.0"} proxies = {"http":"http://309435365:szayclhp@123.206.119.108:16817"} res = requests.get(url,proxies=proxies,headers=headers) res.encoding = "utf-8" print(res....
headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"} # 将 url 和 headers参数,添加进requests.get()中,...
顶级用户代理 ...// => Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 const randomUserAgent = uniqueRandomArray ( us
headers = {"User-Agent":"Mozilla/5.0"} res = requests.get(url,proxies=proxies,headers=headers) print(res.status_code) '''01_普通代理示例.py''' import requests url = "http://www.baidu.com/" proxies...