欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net getRemoteAddr()与 getRemoteHost()的区别

程序员文章站 2024-02-15 21:38:22
getremoteaddr():获得客户端的ip地址 getremotehost():获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址 inetaddress ia...
getremoteaddr():获得客户端的ip地址
getremotehost():获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址

inetaddress ia = inetaddress.getlocalhost();

string iad = ia.gethostaddress();//主机ip
string ias = ia.gethostname();//主机名

请问我在jsp页面中使用如下语句:
system.out.println("request.getremoteaddr(): " + request.getremoteaddr());
system.out.println("request.getremotehost(): " + request.getremotehost());
得到的结果相同(局域网内试验的结果)。
那么getremoteaddr()和getremotehost()到底有什么区别?

前一个是获得客户端的ip地址
后一个是获得客户端的主机名
所以用前一个。

使用request.getremoteaddr()取得client的ip有問題

request.getremoteaddr()可以取得用戶端ip ,但我試了的結果是 0:0:0:0:0:0:0:1 ,請問是哪裡出了問題,要如何解決呢?謝謝各位回答。



这可能是由于你并没有连入互联网或局域网没有获得ip,也有可能是你的上网的方式有问题,我也曾经出过这样的问题,不过换到公司使用局域网测试ip就显示出来了

---------------------------------------------------------------

在servlet中怎样能取到真实的客户端ip地址?
如果客户端来自服务器以外的网段,request.getremoteaddr得到的只是那个客户端网关(代理)的ip,没有办法取到真实的客户端ip吗?

当用户使用代理或者是局域网访问你的应用程序,你用request.getremoteaddr()方法返回的是代理的地址或是局域网网关的地址.