【问题标题】:How Would You Redirect a Mobile Webpage based on Carrier?您将如何基于运营商重定向移动网页?
【发布时间】:2011-09-15 21:27:04
【问题描述】:

我在谷歌搜索这个问题的答案时遇到了一些困难。

基本上我有一个页面,然后我想根据运营商(例如,Sprint、Verizon、Tmobile 等)重定向它们。因此,如果他们是 Verizon,他们会被发送到 Verizon 特定页面。

我将拥有的唯一信息是 IP、主机名等。我不会要求任何信息,例如他们的电话号码。

从外观上看,这可以通过主机名完成吗?是否有所有移动运营商主机名的列表?

【问题讨论】:

  • 使用 phone.carrier.name 枚举 :-)
  • 您想在用户通过浏览器访问您的移动网站时检测他们?
  • 是的,我想在运营商访问我的网页时检测他们。我可以很容易地确定浏览器和东西(无论是否移动)。但是我想根据运营商(verizon、sprint 等)进行重定向。我感觉这是通过主机名完成的?

标签: iphone android mobile


【解决方案1】:

服务器有主机名,客户端通常没有。你知道你的吗?

您唯一能做的就是反向 IP 查找。这可以给出托管客户端 IP 的 ISP 的名称,请求来自的位置。看到这个:http://whatismyipaddress.com/

唯一的限制是用户必须在运营商网络上。因此,大多数非运营商 wifi 网络不会为您提供正确的信息。

【讨论】:

    【解决方案2】:

    最好的方法是使用TelephonyManager。然后创建一个运营商列表并进行比较,同时确保有一个默认案例,因为可能存在运营商名称已更改或您没有在列表中添加内容的情况。

    TelephonyManager tManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    String name = telephonyManager.getNetworkOperatorName();
    

    【讨论】:

    • 理想情况下,我想在我的服务器上完成这一切,无需第三方服务(我安装的 maxmind 除外)
    【解决方案3】:

    您可以将Handset DetectionJavascript mobile detection 方法一起使用。

    如果您设置了没有检测规则的站点配置文件,您可以编写 自定义 javascript 访问 HandsetDetection.isp 然后重定向它们 随心所欲。

    希望对您有所帮助。 (免责声明:我在那里工作)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多