我开发了一个 WAP 应用程序,我想获得访问我网站的用户的 MSISDN。
我的运营商已将我的 WAP 应用程序列入白名单。
我在几部三星手机上成功获得了 MSISDN,但在诺基亚、黑莓和 iPhone 设备上却没有获得相同的结果。
请建议我获取所有设备的 MSISDN 号码的最佳方法。
我开发了一个 WAP 应用程序,我想获得访问我网站的用户的 MSISDN。
我的运营商已将我的 WAP 应用程序列入白名单。
我在几部三星手机上成功获得了 MSISDN,但在诺基亚、黑莓和 iPhone 设备上却没有获得相同的结果。
请建议我获取所有设备的 MSISDN 号码的最佳方法。
获取访问 WAP 站点的用户的 MSISDN 的能力取决于许多因素。
首先,用户必须使用移动数据。如果用户在 WiFi 上,那么您将不会收到此信息。
其次,用户的移动网络必须支持 MSISDN 在 HTTP 标头中的传递。
一些移动网络会在所有请求上发送标头。其他人仅在通过特定 APN 时发送。有些只将此标头发送到特定的 IP 地址/块。我什至遇到过将 MSISDN 作为 $_GET 变量发送的网络。您将需要检查您打算支持的每个网络。
例如,直到大约 6 个月前,南非的一个特定网络过去一直在标头中发送 MSISDN,为了在标头中接收 MSISDN,您的服务器地址需要与它们一起列入白名单。
还要记住,标头很容易被欺骗,除非您保证自己是 HTTP 请求的发起者,否则不应依赖标头,例如在您在 Android 应用程序中使用 Web 视图的情况下 - 您需要自己采取足够的措施。
考虑到所有这些,您应该寻找以下内容:
查看您的标题是否有以下任何内容。这根本不是 MSISDN 标头的完整列表,它们只是我在移动开发冒险中遇到的那些。
我所做的是通过标题查找任何匹配项。如果我没有找到任何匹配项,我会再次使用特定于国家/地区的 MSISDN 正则表达式针对这些值运行标头,以查看我不知道的键的标头中是否有任何潜在的 MSISDN。如果我找到一个潜在的匹配项,我会将密钥和数据添加到我以后可以通过的列表中,以便添加到我的已知 MSISDN 标头列表中。
我希望这已经购买了一些清晰度。最重要的是要记住,这不是获取 MSISDN 的可靠方法。
You can try these others (original: puedes intentar con estas otras):
有时标头由移动运营商加密。这可能会更改标题的命名。例如,X-MSISDN 变为 X-ENCR-MSISDN。
一些运营商在服务器请求上发送 x 标头,根据我最近的研究,我发现许多运营商隐藏或加密或重命名 x 标头,并且很难检索用户的 MSISDN,我尝试了很多方法,如果你想测试您的运营商,您可以使用本网站测试运营商的 MSISDN 可用性(记得用您的移动设备打开链接)希望对您有所帮助。我已使用 Asp.net Mvc 提取了这些标头