Maison >Java >JavaBase >Comment obtenir une adresse IP en Java

Comment obtenir une adresse IP en Java

尚
original
2019-12-27 14:27:117286parcourir

Comment obtenir une adresse IP en Java

Méthode Java pour obtenir une adresse IP :

/**
     * 通过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;
    }

L'objet HttpServletRequest représente la demande du client Lorsque le client accède au serveur via le protocole HTTP, toutes les informations contenues dans. l'en-tête de la requête HTTP Tous sont encapsulés dans cet objet. Grâce aux méthodes fournies par cet objet, toutes les informations demandées par le client peuvent être obtenues.

Méthodes courantes :

La méthode getRequestURL renvoie l'URL complète lorsque le client fait une demande.

La méthode getRequestURI renvoie la partie nom de la ressource de la ligne de requête.

La méthode getQueryString renvoie la partie paramètre de la ligne de requête.

La méthode getPathInfo renvoie des informations de chemin supplémentaires dans l'URL de la requête. Les informations de chemin supplémentaires correspondent au contenu de l'URL de la requête après le chemin du servlet et avant les paramètres de requête, qui commencent par "/".

La méthode getRemoteAddr renvoie l'adresse IP du client qui a fait la demande.

La méthode getRemoteHost renvoie le nom d'hôte complet du client faisant la demande.

La méthode getRemotePort renvoie le numéro de port réseau utilisé par le client.

La méthode getLocalAddr renvoie l'adresse IP du serveur WEB.

La méthode getLocalName renvoie le nom d'hôte du serveur WEB.

Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn