有人知道确定传入的IP是否来自移动运营商的好方法(免费或付费)吗?
之前有一个问题: API to determine cell carrier?
答案是“使用ISP数据库并匹配名称”。我想我希望在一年半以来,有人问这个问题有人提出了更清洁的东西吗?
手指交叉
答案 0 :(得分:7)
我有一个移动网站,我需要进行IP地理位置。我看了几个IP->位置数据库。其中一个是MaxMind。他们有一个免费的数据库,提供城市级别的准确性,但他们也有一个付费的数据库(收取相当合理的费用),为您提供更多的细节,包括移动用户正在进入的移动运营商。
转到http://www.maxmind.com并将您的IP放入演示输入框(位于首页),您将看到可以获得的详细信息。这是您需要的API:http://www.maxmind.com/app/isp
就像我说的,我只使用城市级详细数据库,因此无法保证移动运营商的覆盖范围。但在我最初的测试中,它似乎总能为我测试的英国,爱尔兰和亚洲手机带来良好的价值。
Rgds,凯文。
答案 1 :(得分:0)
如果是网站,则可以检查HTTP_USER_AGENT。当然这可能是伪造的。
如果这确实适用于某个网站,请为您的用户提供查看无移动优化版本的选项!
答案 2 :(得分:0)
你可以使用hostip。他们有一个不断发展的知识产权清单以及它们所在的位置。
您可以获取该IP的物理位置,国家/地区和主机名等信息。
您可以轮询数据并根据带有正则表达式的预定义载体列表检查主机名。
此处有更多信息:http://www.hostip.info/
答案 3 :(得分:0)
NetAcuity又名Digital Envoy拥有运营商定位(功能24),通常是付费许可证,但我相信他们有30天的试用计划。
答案 4 :(得分:-5)
这就是我使用的:
if (preg_match("@(android|iphone|opera mini|blackberry)@is",$_SERVER['HTTP_USER_AGENT'])) {
$mobile = true;
} else {
$mobile = false;
}