Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 如何获取正在访问网站url的用户的ip?_Jsp - Fatal编程技术网

Jsp 如何获取正在访问网站url的用户的ip?

Jsp 如何获取正在访问网站url的用户的ip?,jsp,Jsp,我一直在尝试使用以下代码获取用户的ip,并获得以下输出: InetAddress.getLocalHost.getHostName:ankur PC InetAddress.getLocalHost.getHostAddress:10.0.0.2 request.getLocalAddr:0.0.0.0 request.getLocalName:0.0.0.0 request.getRemoteAddr:0:0:0:0:0:0:0:1 request.getRemoteHost:0:0:0:0:

我一直在尝试使用以下代码获取用户的ip,并获得以下输出:

InetAddress.getLocalHost.getHostName:ankur PC

InetAddress.getLocalHost.getHostAddress:10.0.0.2

request.getLocalAddr:0.0.0.0

request.getLocalName:0.0.0.0

request.getRemoteAddr:0:0:0:0:0:0:0:1

request.getRemoteHost:0:0:0:0:0:0:0:0:1

request.getHeaderProxy-Client-IP:null

request.getHeaderWL-Proxy-Client-IP:null

request.getHeaderX-FORWARDED-FOR:null

InetAddress.getByNamerequest.getHeaderX-FORWARDED-FOR: localhost/127.0.0.1

InetAddress.getByNamerequest.getRemoteAddr:/0:0:0:0:0:0:0:1

InetAddress.getByNamerequest.getRemoteHost:/0:0:0:0:0:0:0:0:1

我不知道它对不对。请给我一些建议,因为我对这方面还不熟悉

    /*
 * getClientIP.java
 *
 * Created on July 9, 2011, 12:13 AM
 */

//package org.com.testing;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;



public class getClient extends HttpServlet {

   // Translation translation = new Translation();

    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        HttpSession session = request.getSession();
        PrintWriter out = response.getWriter();

        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
        out.println("<html>");
        out.println("<!-- Copy right 2009-2012 Redecis Systems Inc. All Rights Reserved. -->");
        out.println("<head>");
        out.println("<title>::: Redecis Systems :::</title>");
        out.println("<meta http-equiv=\"pragma\" content=\"no-cache\">");
        out.println("<meta http-equiv=\"expires\" content=\"0\">");
        out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">");
        out.println("<meta name=\"Author\" CONTENT=\"Kevin\">");
        out.println("<link rel=\"stylesheet\" href=\"JS/Standar.css\" type=\"text/css\">");
        out.println("<script type=\"text/javascript\" src=\"JS/Standar.js\" language=\"JavaScript\"></script>");
        out.println("</head>");
        out.println("<body>");

        out.println("<table width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\">");
        out.println("<tr>");
        out.println("<td align=\"center\" valign=\"middle\">");

        out.println("<table class=\"tableBorder\" width=\"50%\" height=\"35%\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\"> ");
        out.println("<tr>");
        out.println("<td>");

        out.println("<table class=\"darkBlue\" width=\"100%\" border=\"0\" align=\"center\" cellpadding=\"5\" cellspacing=\"0\"> ");

        out.println("<tr>");
        out.println("<td align=\"right\">InetAddress.getLocalHost().getHostName():</td>");
        out.println("<td align=\"left\">" + InetAddress.getLocalHost().getHostName() + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">InetAddress.getLocalHost().getHostAddress():</td>");
        out.println("<td align=\"left\">" + InetAddress.getLocalHost().getHostAddress() + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td width=\"65%\" align=\"right\">request.getLocalAddr():</td>");
        out.println("<td width=\"35%\" align=\"left\">" + request.getLocalAddr() + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">request.getLocalName():</td>");
        out.println("<td align=\"left\">" + request.getLocalName() + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td width=\"65%\" align=\"right\">request.getRemoteAddr():</td>");
        out.println("<td width=\"35%\" align=\"left\">" + request.getRemoteAddr() + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">request.getRemoteHost():</td>");
        out.println("<td align=\"left\">" + request.getRemoteHost() + "</td>");
        out.println("</tr>");


        out.println("<tr>");
        out.println("<td align=\"right\">request.getHeader(\"Proxy-Client-IP\"):</td>");
        out.println("<td align=\"left\">" + request.getHeader("Proxy-Client-IP") + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">request.getHeader(\"WL-Proxy-Client-IP\"):</td>");
        out.println("<td align=\"left\">" + request.getHeader("WL-Proxy-Client-IP") + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">request.getHeader(\"X-FORWARDED-FOR\"):</td>");
        out.println("<td align=\"left\">" + request.getHeader("X-FORWARDED-FOR") + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">InetAddress.getByName(request.getHeader(\"X-FORWARDED-FOR\")):</td>");
        out.println("<td align=\"left\">" + InetAddress.getByName(request.getHeader("X-FORWARDED-FOR")) + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">InetAddress.getByName(request.getRemoteAddr()):</td>");
        out.println("<td align=\"left\">" + InetAddress.getByName(request.getRemoteAddr()) + "</td>");
        out.println("</tr>");

        out.println("<tr>");
        out.println("<td align=\"right\">InetAddress.getByName(request.getRemoteHost()):</td>");
        out.println("<td align=\"left\">" + InetAddress.getByName(request.getRemoteHost()) + "</td>");
        out.println("</tr>");

        out.println("</table>");

        out.println("</td>");
        out.println("</tr>");
        out.println("</table>");

        out.println("</td>");
        out.println("</tr>");
        out.println("</table>");

        out.println("</head>");
        out.println("</body>");
        out.close();
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
Yes.request.GetRemoteAddr返回客户端IP。 唯一的问题是当用户在代理后面时。使用此选项将返回代理服务器的地址。在这种情况下,要检索客户端的ip,我们需要userequest.getHeaderx forwarded for

Yes.request.getRemoteAddr返回客户端ip。 唯一的问题是当用户在代理后面时。使用此选项将返回代理服务器的地址。在这种情况下,要检索客户端的ip,我们需要userequest.getHeaderx-forwarded-for