获取手机的头信息    

1.关于获取手机用户的唯一标识
加密的手机号码:被加密的手机号码,与手机号码一一对应。
中国联通WAP平台向CP Server(主域或IP地址)传送加密手机号码,CP Server获取该加密手机号码的方法为:在每次用户发送的请求http header中取“deviceid”。 在jsp中可以这样实现:string deviceid=request.getheader("deviceid")

2.做WAP开发的朋友都碰到过UA适配的问题.可是现在市面上的手机有许许多,而符合标准的手机还真不多.虽然可以通过HTTP_USER_AGENT属性取到UA,可以通过HTTP_X_UP_DEVCAP_SCREENPIXELS属性来取得手机的屏幕尺寸大小,可以通过HTTP_ACCEPT属性来获取手机支持的文件类型.

可是大多数手机SCREENPIXELS是不提供的,目前我测试过的手机只有NEC的N830手机提供了该参数,其他手机都没有支持.那么大家只能通过搭建自己的UA适配表来通过比对UA信息获取手机的屏幕尺寸和支持类型信息.

这里提供一个拥有2100个手机UA头信息的资料给大家.

<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%
try{
    String contents;
    String filename = "/wap/Header" + ".txt";
    FileOutputStream fo = new FileOutputStream(filename,true);
    BufferedWriter fout = new BufferedWriter(new OutputStreamWriter(fo));
    contents = "************************************************************************\n";
    fout.write(contents,0,contents.length());
    Enumeration e = request.getHeaderNames();
        String headerName = "";
        if (e!=null){
                while (e.hasMoreElements()){
                        headerName = (String)e.nextElement();
                        contents =  headerName + ":" + request.getHeader(headerName) + "\n";
                        fout.write(contents,0,contents.length());
                }
        }
    contents = "MobileNo:"+request.getHeader("X-Up-Calling-Line-ID")+"\n";
    //contents = "MobileNo:"+request.getHeader("deviceid")+"\n";
    fout.write(contents,0,contents.length());
    contents = "MobileType:"+request.getHeader("user-agent")+"\n";
    fout.write(contents,0,contents.length());
    contents = "wapprofile:"+request.getHeader("x-wap-profile")+"\n";
    fout.write(contents,0,contents.length());

       fout.close();
        fo.close();

}catch (Exception e){
        e.printStackTrace();
}
%>

关联文档