在浏览网页时, 很多网站都可以显示本地机器的真实 IP 地址, 这是怎样做到的呢? 如何用 Java 编写捕捉 adsl 上网时得到的的动态 IP 地址的代码呢 ? 请指教!!!

解决方案 »

  1.   

    JSP可用request.getRemoteAddr()
    应用程序得到本机地址:java.net.InetAddress.getLocalHost()
      

  2.   

    Process p =Runtime.getRuntime().exec("ipconfig")
    然后对流处理,就可以看到所有信息了。
      

  3.   

    现在的情况是这样, 我有个router, 然后接到接到一个24口的switch, 24台pc通过switch共享上网,如果用上面的方法只能拿到由router分配给本地 pc 的IP地址. 我现在想得到是 router 从ISP 上拿到的动态 IP 地址, 是上网用的真实 IP 地址. 怎样实现呢? (请指点方向)
      

  4.   

    那是router的地址,不是本机地址。
    想不到有什么好办法。
      

  5.   

    局域网内是得不到的,网外可以获取真实IP,所有内网用户共用IP,比如QQ,网外访问的时候每个内网用户有不同的端口来区分,内网用户互相访问直接用内网IP
      

  6.   

    把下面文件保存成jsp格式,然后运行你就知道了
    <html>
      <head>
         <title>Welcome to here</title>
      </head>
     <br>
      <body>
    <hr color="red">

        Your IP address:<%= request.getRemoteAddr() %>
        <%= request.getRemoteUser() %>
        <%= request.getHeader("User-Agent") %>
        <%= System.getProperty("os.version") %>
        <%= System.getProperty("os.name") %>
    <br>
        <%= request.getHeader("HTTP_X_FORWARDED_FOR") %>
      </body>
    </html>
      

  7.   


    上面的朋友 btb368() , 在我机器上面用你的代码显示如下: Your IP address:127.0.0.1 null Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 5.1 Windows XP 
    null
      

  8.   

    to wxfJordan(晓仕):btb368的方法是正确的,请放心使用。
      

  9.   


    在花生壳类的软件都会显示 adsl 的真实 IP 地址, 如果用 java 写一个本地程序, 该怎样实现呢? 
    (.\_/.)....思考,思考.....