2017-09-24 63 views

回答

1

的唯一方法,以检查是否该请求是从移动设备来通过检查用户代理与每个请求一起发送。用户代理可以在HttpContext.Request.Headers['User-Agent']中找到。

然后在e.g发现的移动浏览器的列表进行比较用户代理值:https://deviceatlas.com/blog/mobile-browser-user-agent-strings

+0

非常感谢,有没有办法保证我拥有最新版本的代理?由于 – Techy

+0

没有办法保证一个高达用户代理的日期列表,版本不断变化。我经常使用这份名单是由[useragentstring.com(http://www.useragentstring.com/pages/useragentstring.php) –

1

一种选择是写自己的用户代理解析器,计算出,如果它是一个移动浏览器或没有。这是一项巨大的工作,而且随着新设备的发布,您将不得不继续扩展。它有自己的所有问题,就像你在其他评论说 - 你如何获得新的用户代理包含列表...

另一种选择是找到ASP编写的一些免费的图书馆,会做这项工作为你。我看不到用asp.net Core API编写的库。如果您使用它,请确保它由开发人员定期更新,并且您不断更新库的副本。

最后的选择是使用用户代理解析API。一个好的会给你关于浏览器,软件和硬件/软件类型的详细信息。

几个月前,我为这份工作做了一些比较 - https://developers.whatismybrowser.com/api/对我来说看起来最好 - 它与平台无关(不管你在ASP/C#/ Ruby中编写你的系统的语言如何),以及是免费的,并且有一个积极的开发团队在努力。也因为它是一个API,你从来没有更新您的代码库,它始终工作在最新的检测,他们所写的内容。我们今天仍然使用它。