java代码实现由request请求消息获取远处发送请求的用户主机的内网IP地址和外网IP地址

如题所述

第1个回答  2011-07-28
外网:
public static String getWebIp() {
try {
String strUrl = "http://www.ip138.com/ip2city.asp";
URL url = new URL(strUrl);

BufferedReader br = new BufferedReader(new InputStreamReader(url

.openStream()));

String s = "";

StringBuffer sb = new StringBuffer("");

String webContent = "";

while ((s = br.readLine()) != null) {
sb.append(s + "\r\n");

}

br.close();
webContent = sb.toString();
int start = webContent.indexOf("[") + 1;
int end = webContent.indexOf("]");
webContent = webContent.substring(start, end);

return webContent;

} catch (Exception e) {
e.printStackTrace();
return "error open url:" + null;

}
}
内网:request.getRemoteAddr()追问

我的神 你拷贝的代码我早研究过了 不过也谢谢你啊

追答

这个是能实现的 大哥

第2个回答  2011-07-28
获取客户端的IP地址的方法是:request.getRemoteAddr()
内网好像获取不到吧。追问

首先谢谢您的回答。 这个不太清楚,有一点可以肯定的是不好获取,我都在网上溜了很长时间了。。。。

本回答被提问者采纳
第3个回答  2011-07-28
request.getRemoteAddr();追问

这样子不行的

手把手教你用Java获取IP归属地
首先,我们需要基于Spring Boot搭建项目,添加控制器(Controller)中使用HttpServletRequest获取IP地址。然而,在本地环境下,获取的IP可能是0:0:0:0:0:0:0:1或局域网IP,这些都不具备公网访问的能力,因此需要将项目部署至外网服务器,以确保能成功获取到公网IP。面对Nginx反向代理的挑战,我们需要在Ng...

java怎么获取请求的ip
public class Main { public static void main(String[] args) throws SocketException { System.out.println(Main.getRealIp());} public static String getRealIp() throws SocketException { String localip = null;\/\/ 本地IP,如果没有配置外网IP则返回它 String netip = null;\/\/ 外网IP Enum...

局域网中的电脑如何用java代码取得出口IP?
String localip = null;\/\/ 本地IP,如果没有配置外网IP则返回它 String netip = null;\/\/ 外网IP Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces();InetAddress ip = null;boolean finded = false;\/\/ 是否找到外网IP while (netInterfaces.hasMoreElements() && !

Java怎样获取当前机器外网IP
import java.util.regex.Pattern;\/ 获取本机外网IP地址 思想是访问网站http:\/\/checkip.dyndns.org\/,得到返回的文本后解析出本机在外网的IP地址 author pieryon \/ public class ExternalIpAddressFetcher { \/\/ 外网IP提供者的网址 private String externalIpProviderUrl;\/\/ 本机外网IP地址 private Strin...

Java 中是如何获取 IP 属地的
获取 Java 中 IP 属地的步骤简洁明了。首先,通过 HttpServletRequest 对象捕获用户的 IP 地址。接着,利用这个地址,我们能够获取对应的省份和城市信息。在实现这一功能时,我们通常会借助一个专门的工具类,以确保在每次请求中都能准确地获取到客户端 IP 地址。这一过程中,我们需考虑到几个关键的 ...

...ip,请问高手们,如何用java代码获取本地所有主机ip的列表。
不太清楚, 我就知道一个,request.getScheme()+request.getServerName+request.getServerPort();

JAVA如何获取局域网内所有安卓设备的ip地址,MAC以及序列号?
1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig \/all)2.根据IP类型,一次遍历局域网内IP地址 JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可 代码如下::package bean;import java.io.*;import java.util.*;public ...

如何获取局域网内所有IP地址 java代码
1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig \/all)2.根据IP类型,一次遍历局域网内IP地址 JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可 代码如下::package bean;import java.io.*;import java.util.*;public ...

java servlet获取客户端IP
request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP。

java基础知识:servlet、http协议、request
request对象遵循Servlet请求接口的继承体系结构,通过继承实现具体功能,如获取请求消息数据、头信息、请求体数据等。request功能丰富,包括获取请求方式、虚拟目录、Servlet路径、请求参数、协议及版本、客户机IP地址、请求头数据、请求体数据等。通过request对象,可以实现请求转发和共享数据,利用request域进行数据...

相似回答