使用Response类的方法可以获取IP地址,主机名称就不知道了,知道IP就OK了,干吗要知道机器名呢?

解决方案 »

  1.   

    获得客户端信息的方法是通过request对象来完成的。
    客户端提交到服务器端的信息分为三类:
    第一类:客户机信息(包括客户端的ip地址、端口号、主机名、提交方式等等)
    第二类:通过form或url方式提交到服务器端的信息
    第三类:cookie信息
    获得第一类信息用:
    request.getHeader(“User-agent”)返回客户端浏览器的版本号、类型getHeader(String name):获得http协议定义的传送文件头信息,request. getMethod():获得客户端向服务器端传送数据的方法有GET、POST、PUT等类型request. getRequestURI():获得发出请求字符串的客户端地址request. getServletPath():获得客户端所请求的脚本文件的文件路径request. getServerName():获得服务器的名字request.getServerPort():获得服务器的端口号request.getRemoteAddr():获得客户端的IP地址request.getRemoteHost():获得客户端电脑的名字,若失败,则返回客户端电脑的IP地址request.getProtocol():request.getHeaderNames():返回所有request header的名字,结果集是一个Enumeration(枚举)类的实例request.getHeaders(String name):返回指定名字的request header的所有值,结果集是一个Enumeration(枚举)类的实例
    获得第二类 get 信息用:
    request. getQueryString(“变量名呀或控件名”)获得查询字符串,该串由客户端以GET方法向服务器端传送获得第二类 post 信息用:request.getParameter(String name):获得客户端传送给服务器端的参数值,该参数由name指定request.getParameterNames():获得客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例request.getParameterValues(String name):获得指定参数所有值
    获得第三类Cookie信息用:
    request.getCookies( “cookie变量名”):返回客户端的cookie对象,结果是一个cookie数组
      

  2.   

    IP不行的,一定要主机名,我们这里使用的是DHCP,我试了一下。
    request.getRemoteHost()返回给我一个IP。
    request.getRemoteUser()返回给我一个null。
      

  3.   

    夸张了吧,客户端浏览器向服务端发送的HTTP头里边没有主机名的信息,request当然取不出来了撒
      

  4.   

    可以在客户端调用Wscript来获取
    WshNetwork.ComputerName