Je suis en train de développer une application web avec Java servlet, j'espère obtenir l'information ip de l'utilisateur en appelant request.getRemoteAddr()
depuis l'intérieur processRequest(HttpServletRequest request,HttpServletResponse response)
.Pourquoi HttpServletRequest.getRemoteAddr() ne fonctionne pas dans le servlet Java?
Mais il renvoie une adresse IP incorrecte. Depuis que je ne suis pas très bien informé sur ce domaine, je ne sais pas ce qu'il affiche, peut-être un proxy, je suis arrivé ceci:
RemoteAddr : 127.0.0.1 RemoteHost : 127.0.0.1 x-forwarded-for : null
127.0.0.1 est pas mon IP.
Pourtant quand je vais à: http://www.javascriptkit.com/script/script2/displayip.shtml
il affichera le bon, puisque j'utilise servlet, je n'ai pas le fichier .shtml à ma page html générée dynamiquement, que puis-je faire? Et pourquoi le script sur ce site peut l'afficher correctement alors que request.getRemoteAddr()
ne peut pas le faire?
Merci pour toutes les réponses, j'ai un indice maintenant, après le déployer sur le serveur, cela fonctionne comme prévu. Montré la bonne adresse.
Mais même quand je le développe sur ma machine locale, comment lui demander d'afficher l'adresse IP absolue comme si elle fonctionnait sur un vrai serveur? Ou est-ce faisable?
Lorsque vous dites «mauvaise adresse IP», l'adresse est-elle dans votre domaine? Quel est le problème? Pouvez-vous nous donner plus d'informations sur le retour de l'appel? –