如何从 10 位电话号码中获取运营商名称?
请注意:我通过电话成功获得了自己号码的运营商。但我需要为其他电话号码获取它。
无法从电话号码中准确找到运营商。在过去,电话号码是按“块”分配给不同的运营商的,因此您只需要知道一个区号和 3 位数字交换(区号后的前 3 位数字)即可确定哪个运营商的号码曾经属于。但是号码可携带性意味着任何人都可以放弃他们的运营商并将他们的电话号码转移到新的运营商,因此分配给每个运营商的旧电话号码“块”正在逐渐被打破。
但是,有一些网站声称他们可以(免费)为您提供此信息,还有一些其他来源会告诉您收费。
由于号码可携带性,这些网站不一定准确。
Authy有一个很棒的 API(除了他们的旗舰 2-Step 身份验证 API),但每次查找 3 美分可能有点贵。
curl "https://api.authy.com/protected/json/phones/info?api_key=XXX&phone_number=775-461-5609&country_code=1" { "message": "Phone number information as of 2014-07-02 20:40:05 +0000", "type": "voip", "provider": "Pinger/TextFree", "ported": false, "success": true }
如果您仍在寻找解决方案,Nexmo 发布了一个名为Number Insight API的新 API ,它可以获取给定 10 位数号码的运营商信息和更多信息。试一试。
可以可靠地获取电话号码的运营商,但首先您需要确定电话号码是否已被移植。就像 Iqbal 在他的回答中所说的那样,电话号码通常是分块分配给运营商的。但是,通过号码可移植性,手机的所有者可以将他们的电话号码转移到不同的运营商。通过查找本地路由号码(LRN - 参见维基百科 - 本地路由号码),您可以确定号码是否已被移植,如果是,当前运营商是谁。
有提供此类信息的网络服务,其中之一是 PacificEast 的Line Identification Append,它会告诉您号码是否已被转移、运营商是谁以及它是什么类型的电话(固定电话、无线等)。 )。
披露:我在 PacificEast 工作。