移動互聯網:如何獲取用戶的手機號
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上網的時候,是沒有辦法獲得用戶手機號碼的,因為他沒有通過網關。