Home >Java >JavaBase >How to get ip address in java

How to get ip address in java

尚
Original
2019-12-27 14:27:117287browse

How to get ip address in java

java method to obtain the IP address:

/**
     * 通过HttpServletRequest返回IP地址
     *
     * @param request HttpServletRequest
     * @return ip String
     * @throws Exception
     */
    private static String getIpAddr(HttpServletRequest request) {
        String ip = request.getHeader("x-forwarded-for");
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_CLIENT_IP");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
        }
        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
            if (LOCAL_IP.equals(ip) || LOCAL_IP1.equals(ip)) {
                InetAddress inet = null;
                try {
                    inet = InetAddress.getLocalHost();
                    ip = inet.getHostAddress();
                } catch (UnknownHostException e) {
                    e.printStackTrace();
                }
            }
        }
        return ip;
    }

The HttpServletRequest object represents the client's request. When the client accesses the server through the HTTP protocol, all information in the HTTP request header All are encapsulated in this object. Through the methods provided by this object, all the information requested by the client can be obtained.

Commonly used methods:

getRequestURL method returns the complete URL when the client makes a request.

The getRequestURI method returns the resource name part of the request line.

The getQueryString method returns the parameter part in the request line.

The getPathInfo method returns additional path information in the request URL. The extra path information is the content in the request URL after the Servlet's path and before the query parameters, which starts with "/".

The getRemoteAddr method returns the IP address of the client that made the request.

The getRemoteHost method returns the full host name of the client that made the request.

The getRemotePort method returns the network port number used by the client.

The getLocalAddr method returns the IP address of the WEB server.

The getLocalName method returns the host name of the WEB server.

For more java knowledge, please pay attention to the java basic tutorial column.

The above is the detailed content of How to get ip address in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn