我创建了一个空的 c# 网站,其中只有一个页面,其中包含 Request.Browser.Version 和 UserAgent 输出。然后使用“User-Agent Switcher”Chrome 扩展程序使用不同的 Chrome 版本进行访问。
有时,虽然 Request.UserAgent 是正确的,但 Request.Browser.Version 似乎返回错误的值:
“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/41.0.2272.16 Safari/537.36”返回 Request.Browser.Version:39
“Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/39.0.2272.16 Safari/537.36”返回 Request.Browser.Version:41
最佳答案
所以,是的,.net 4.5 通过前 64 个字符来缓存用户代理。这只是在版本号之前获取它们。因此,使用相同浏览器但版本不同的下一个用户将得到错误的浏览器版本,依此类推。
要解决这个问题,只需更改 :browserCaps userAgentCacheKeyLength="...",如下所示: .Net 4.0 website cannot identify some AppleWebKit based browsers
这个愚蠢的微软错误怎么没有上头条呢?
关于c# - .net 请求浏览器版本不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28213642/