我做个WAP网站,但是不想让对方在电脑上试听我的铃声。我怎么判断手机浏览的还是电脑浏览的呀? 

解决方案 »

  1.   

    1.可以根据IP信息来判断
    2.根据UA信息来判断有这两个基本上能判断出电脑还是手机了
      

  2.   

    1.取访问来源的IP地址,这个我想你应该能取到吧,不知道方法的话,网上可以搜索到的,具体实现这个要根据移动,联通,电信的IP段来判断的2.UA信息的话,我这个主要根据里面的信息来的判断的,手机访问的话,一般能取到手机的相关信息
      

  3.   

    如果只判断UA的浏览器信息话,如果电脑用手机模拟器或直接WAP模拟浏览器,都可能会不能正确判断。查看UA里的操作系统信息,相对会更好,但也还是不能十分准确。IP的话,相对来说应该准确些吧。
      

  4.   

    我记得http header里应该包含浏览器的信息,名称好像是xxxbrowser,你输出一下看看。
      

  5.   

    手机访问的话在 HTTP header 中有特定东西的,好像是 User-Agent 的值,具体是值是什么记不起来了。
      

  6.   

    问题解决,附源码,结贴,给分,感谢大家的帮助 int zt=0;//手机1
    String slit="";
    String phone = request.getHeader("X-up-calling-line-id");
    String user_agent = request.getHeader("user-agent");
    // System.out.println("===="+phone);
    if(phone!=null){
    zt=zt+1;
    }else
    if(user_agent!=null)
    {
    if(user_agent.indexOf("vnd.wap")>=0){
    zt=zt+1;
    }else
    if(user_agent.indexOf("Nokia")>=0){
    zt=zt+1;
    }else
    if(user_agent.indexOf("Symbian")>=0){
    zt=zt+1;
    }else
    if(user_agent.indexOf("MIDP")>=0){
    zt=zt+1;
    }else
    if(user_agent.indexOf("CLDC")>=0){
    zt=zt+1;
    }else
    if(user_agent.length()>10){
    slit=user_agent.substring(0,7);
    if(!slit.equals("Mozilla")){
    zt=zt+1;
    }
    }
    if(user_agent.indexOf("Opera")>=0)
    {
    zt=0;
    }
    if(user_agent.indexOf("Windows NT")>=0)
    {
    zt=0;
    }
    }