[转]移动互联网:如何获取用户的手机号

[转]移动互联网:如何获取用户的手机号
移动互联网:如何获取用户的手机号
http://blog.vsharing.com/51bk/A908299.html

移动支持2种上网模式:cmwap与cmnet
CMWAP 和 CMNET 只是移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。
         cmwap应用采用的实现方式是“终端+WAP网关+WAP服务器”的模式。主要的目的是通过WAP网关完成WAP-WEB的协议转换以达到节省网络流量和兼容现有WEB应用的目的。WAP网关从技术的角度讲,只是一个提供代理服务的主机,它不一定由网络运营商提供。目前只有唯一的一个WAP网关:10.0.0.172(但各省市可能有各自的二级代理),标准的WAP网关仅仅实现了HTTP代理的功能,并未完成路由、NAT等局域网网关的功能。这就决定了它在应用上所受到的限制。目前,移动的WAP网关对外只提供HTTP代理协议(80和8080端口)和WAP网关协议(9201端口)。
        CMNET拥有完全的Internet访问权,与internet一样,没有带来网关。
 
有了这个概念之后,让我们继续:
如何通过程序获得用户手机号:

如果用户要访问目标wap网站,在浏览器中输入wap.jxc114.com网址,选择使用cmwap接入点上网,则默认会先到wap网关,由wap网关进行转接到目标wap网站。因为是经过了wap网关的过滤,在出来的信息中,网关向http header中注入了用户的手机号信息,同时分两种情况,一个是明文的手机号,一种是被加密的手机号码,为256为字符,对于明文的可以使用如下方法直接获得:

request.ServerVariables("x-up-calling-line-id ")

对于加密手机号:网关把他放到header的“deviceid”的属性中,如果要获得手机号,则需要移动misc系统的支持,通过密文找到对应的手机号。
但是好景不长,到了2005年,移动为了打压免费的wap网站(移动梦网流量被免费wap站分流了n多),取消了网关返回用户手机号的功能,同时也过滤掉了返回UserAgent的功能。就是因为移动的一己私利,导致当年如火如荼的移动互联网萌芽被扼杀了,指导今天wap网站也再没有什么新的起色。但愿随着无线高速公路(3G)的全面商用,移动能为了整个移动互联网产业的发展把,高速公路的收费站(CMNET)取消,或者资费降低。只有整个产业环境具备了,无线互联网才能真正有所发展,要不然就是一个炒作概念。。。。当然这些都是随便写的,下面继续原理分析:

我们知道做无线互联网,最重要的两个信息一个就是UA、一个就是用户手机号;知道了UA就可以知道手机的机型,我就可以提供更有针对的显示界面,比如使用N95手机进行访问,页面直接显示为240×320进行显示,是Symbian OS v9.2操作系统S60平台,我们就可以提供相应的下载软件,这些都是UI交互中最必须的(移动做的差,还不让别人做的好,是么世道!);而获得用户的手机号,就可以知道订购关系,甚至可以进行小额移动支付业务。

那么网关又是如何获得UA和用户的手机号呢?

我们知道每个SIM卡背面的号码是SIM卡的电子串号,也叫IMSI号码,这个号码是全球唯一的,是国际电联分配给每个运营商的,电话号码和IMSI没有任何关系,当开通服务时电话号码和IMSI号码在交换机上做绑定,这样你的SIM卡就可以用了。(所以丢了sim卡,但是通过不卡,手机号是可以不变的)
那么用户在使用客户端也好,浏览器也好,访问wap网址的时候,根据3GPP的链路协议,会自动上传imsi号码,网关获得imsi再到misc系统中(misc再调用移动的基础网络数据)获得用以绑定的手机号,至于是否在从网关中吐出手机号,那就是移动说的算了。
至于UA,如果使用浏览器则浏览器会默认上传;如果是用客户端的方式,则需要受到填充UA信息,当然也可以不填。
是以至此,那么怎么获得手机号呢?
1、 大的sp都会和移动签约,申请获得网关转发的手机号;
2、 与业务进行绑定,要求用户填写手机号码(这也是没有办法的办法,所以为什么很多wap站都要求用户输入手机号的原因)
3、 和已经签约sp进行合作;
 
再补充一下,如果使用cmnet上网的时候,是没有办法获得用户手机号码的,因为他没有通过网关。

你可能感兴趣的:([转]移动互联网:如何获取用户的手机号)