
方法如下:
方法一,使用CMD命令:
public static String getLocalIPForCMD(){
StringBuilder sb = new StringBuilder();
String command = "cmdexe /c ipconfig | findstr IPv4";
try {
Process p = RuntimegetRuntime()exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(pgetInputStream()));
String line = null;
while((line = brreadLine()) != null){
line = linesubstring(linelastIndexOf(":")+2,linelength());
sbappend(line);
}
brclose();
pdestroy();
} catch (IOException e) {
eprintStackTrace();
}
return sbtoString();
}
方法二,使用Java方法:
public static String getLocalIPForJava(){
StringBuilder sb = new StringBuilder();
try {
Enumeration<NetworkInterface> en = NetworkInterfacegetNetworkInterfaces();
while (enhasMoreElements()) {
NetworkInterface intf = (NetworkInterface) ennextElement();
Enumeration<InetAddress> enumIpAddr = intfgetInetAddresses();
while (enumIpAddrhasMoreElements()) {
InetAddress inetAddress = (InetAddress) enumIpAddrnextElement();
if (!inetAddressisLoopbackAddress() && !inetAddressisLinkLocalAddress()
&& inetAddressisSiteLocalAddress()) {
sbappend(inetAddressgetHostAddress()toString()+"\n");
}
}
}
} catch (SocketException e) { }
return sbtoString();
}
ip地址容易获取,request中的getRemoteAddress方法能得到。至于地区的IP,这个可以找找看,应该有对应的表格什么的!
>
两种方式。
1调用别人的API判断。有些网站会提供IP地址判断的API
2每个IP地址段都是固定位置的。你可以把这些IP位置在网络上进行搜集做成一个数据集。每次把IP与数据集里的数据进行比对来判断
public static void main(String[] args) {
try {
Systemoutprintln("当前时间:"+new Date());
Systemoutprintln("IP地址 : " + InetAddressgetLocalHost());
} catch (UnknownHostException e) {
eprintStackTrace();
}
}
一个可知的IP地址,通过查询知道该IP地址所处的大致区域 比如 :27298319查询可知
为湖北省荆州市 电信 ,在没有使用***的情况下,IP地址可以较为准确的知道地理位置:***专业名:虚拟专用网络,是通过建立虚拟安全通道,让使用者可以查看google等网站内容,***质量确定了使用者的数据安全性和速度,国内这方面做的比较好的是双鱼IP转换器
以上就是关于java中获取本地IP地址全部的内容,包括:java中获取本地IP地址、想写一个javaweb程序点按钮获取点击者的ip地址并从数据库中进行IP对比 相同则显示这个IP地址所在地区的名、java检测IP地址是哪里的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)