Zajmuję się tworzeniem aplikacji internetowej z serwletem java, mam nadzieję uzyskać informacje o użytkowniku ip, dzwoniąc pod numer request.getRemoteAddr()
z poziomu processRequest(HttpServletRequest request,HttpServletResponse response)
.Dlaczego funkcja HttpServletRequest.getRemoteAddr() nie działa w serwletach Java?
Ale zwraca zły adres IP. Ponieważ nie jestem dużą wiedzę o tej dziedzinie, nie wiem co to jest wyświetlanie, może proxy, mam to:
RemoteAddr : 127.0.0.1 RemoteHost : 127.0.0.1 x-forwarded-for : null
127.0.0.1 nie jest moje IP.
Jednak gdy przejdę do: http://www.javascriptkit.com/script/script2/displayip.shtml
wyświetli się właściwy, ponieważ używam serwletu, nie mam .shtml na mojej dynamicznie generowanej stronie html, co mogę zrobić? I dlaczego skrypt na tej stronie może wyświetlać go poprawnie, gdy nie można tego zrobić?
Dzięki za wszystkie odpowiedzi, mam teraz wskazówkę, po wdrożeniu go na serwerze działa zgodnie z oczekiwaniami. Pokazano poprawny adres.
Ale nawet kiedy rozwijam go na mojej lokalnej maszynie, jak poprosić o wyświetlenie absolutnego IP tak, jakby działał na prawdziwym serwerze? Czy jest to wykonalne?
Kiedy mówisz "zepsuty adres IP", czy adres jest w domenie? Jak źle to jest? Czy możesz podać nam więcej informacji na temat tego, do czego wraca połączenie? –