如何检查useragent是ipad还是iphone?

avn*_*nic 35 .net c# asp.net iphone ipad

我正在使用C#asp.net网站.

如何检查用户是使用ipad还是iphone?我该如何查看平台?

例如,如果用户从ipad进入网站,我想显示"Hello ipad user"

Ale*_*lex 72

更新:由于iPad用户代理包含iPhone@Rob Hruska 提到的单词:

Mozilla/5.0(iPad; U; CPU iPhone OS 3_2,如Mac OS X; en-us)AppleWebKit/531.21.10(KHTML,类似Gecko)版本/ 4.0.4 Mobile/7B314 Safari/531.21.10

和iPhone用户代理是这样的:

Mozilla/5.0(iPhone; U; CPU iPhone OS 4_0,如Mac OS X; en-us)AppleWebKit/532.9(KHTML,类似Gecko)版本/ 4.0.5 Mobile/8A293 Safari/6531.22.7

检查单词iPhone;iPad;识别设备是正确的:

var userAgent = HttpContext.Current.Request.UserAgent.ToLower();
if (userAgent.Contains("iphone;"))
{
    // iPhone
}
else if (userAgent.Contains("ipad;"))
{
    // iPad
}
else
{
    // Think Different ;)
}
Run Code Online (Sandbox Code Playgroud)

  • 需要在*iPhone之前检查iPad*,因为iPad也包含iPhone,或者总是得到iPhone作为答案. (6认同)
  • 这不会将iPad识别为iPhone,因为[iPad用户代理](http://stackoverflow.com/a/2248420/29995)包含`... CPU iPhone ...`? (5认同)
  • 这个解决方案实际上没问题,对我有用,想知道为什么这不是选定的答案......*呵呵*我只是复制和粘贴,'Alex'这有帮助..谢谢!:) (2认同)

She*_*Pro 20

对于iPad 用户代理是这样的:

Mozilla/5.0(iPad; U; CPU iPhone OS 3_2,如Mac OS X; en-us)AppleWebKit/531.21.10(KHTML,类似Gecko)版本/ 4.0.4 Mobile/7B314 Safari/531.21.10

而对于iPhone来说,它的作用如下:

Mozilla/5.0(iPhone; U; CPU,如Mac OS X; en)AppleWebKit/420 +(KHTML,如Gecko)版本/ 3.0 Mobile/1A543a Safari/419.3

任何更多的取决于版本和它的iPhone 3或4

所以更好的只是按照另一个答案的建议对iPhone和iPad进行子串搜索


Mar*_*ell 5

这些设备的用户代理包括适当的"iPod","iPad"或"IPhone".请注意,有在游戏中多个用户代理,这样的精确匹配是不明智的-但看看从你的设备http://whatsmyuseragent.com

因此,请检查标头中的用户代理.