当前位置:主页 > 网页教程 > 网页制作 > wap网站教程 > 内容欢迎大家投稿

WAP建站入门教程十、用户代理检

时间:2009-10-03 08:27来源:未知 作者:大宝库 点击:读取中
阅读工具:字体:
介绍了如何检测用户浏览器的类型。
    User-Agent在URL申请头中有着重要的意义。可以用来判断用户代理的类型。通过检测用户代理,就可以针对不同的用户代理发送最适合的信息。在这里将要介绍一个Servlet小工具用来检测User-Agent,以及几种有特点的用户代理。当然该工具也适合于检测其他类型的HTTP头,源程序如下:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Snoop extends HttpServlet
{
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
    {
        response.setContentType("text/vnd.wap.wml");
        PrintWriter out = response.getWriter();
        out.println("<?xml version=\"1.0\"?>");
        out.println("<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">");
        String check=request.getParameter("check");
        out.println("<wml>");
        out.println(" <card id=\"check\" title=\"" + check + "\">");
        out.println(" <p>");
        if(check.equals("Method"))
        {
            out.println(request.getMethod());
        }
        else if(check.equals("URL"))
        {
            out.println(request.getRequestURL());
        }
        else if(check.equals("Protocol"))
        {
            out.println(request.getProtocol());
        }
        else if(check.equals("ServletPath"))
        {
            out.println(request.getServletPath());
        }
        else if(check.equals("PathInfo"))
        {
            out.println(request.getPathInfo());
        }
        else if(check.equals("PathTranslated"))
        {
            out.println(request.getPathTranslated());
        }
        else if(check.equals("QueryString"))
        {
            out.println(request.getQueryString());
        }
        else if(check.equals("ContentLength"))
        {
            out.println(request.getContentLength());
        }
        else if(check.equals("ServerName"))
        {
            out.println(request.getServerName());
        }
        else if(check.equals("ServerPort"))
        {
            out.println(request.getRemoteUser());
        }
        else if(check.equals("RemoteUser"))
        {
            out.println(request.getRemoteAddr());
        }
        else if(check.equals("RemoteHost"))
        {
            out.println(request.getRemoteHost());
        }
        else if(check.equals("AuthType"))
        {
            out.println(request.getAuthType());
        }
        else
        {
            out.println(request.getHeader(check));
        }
        out.println(" </p>");
        out.println(" </card>");
        out.println("</wml>");
    }
}
    我在Catalina Server下调试通过。程序根据你选择的不同check选择项返回不同的信息。这个小工具对于在程序调试的时候是十分有用的。你可以在你的form中间加入一个check选择项,将action指向snoop就可以知道用户代理发送给服务器的所有内容,方便吧!
    当你输入check=User-Agent的时候,那么返回的就是User-Agent的值。m3Gate只能在使用IE的时候才可以启动。UpPhone传回的数据最长。Nokia WAP Toolkit 1.2相比之下就比较简单。ccWAP居然就只有:WML Browser。其他类型的User-Agent值你可以在“浏览器列表”中找到!
(责任编辑:大宝库)


------分隔线----------------------------
推荐内容
  • WAP手机上网问题问与答

    一、我如何键入网址? 1、打开手机,进入服务功能选项 2、按下确定键 3、选中书签 4、...

  • WML语法大全

    WML是一种基于XML(扩展标记语言)的一种标记语言。这种语言是为无线设备用户提供交互...

  • 全面解析WAP技术

    什么是WAP WAP就是无线应用协议(WirelessApplicationProtocol)的简称。虽然它跟联合国...

  • 用QuickWAP组件建设Wap站点

    用QuickWAP组件建设Wap站点教程-准备篇 首先我们要简单了解一下什么是QuickWAP,Quick...

赞助商链接
赞助商链接