JAVA 获取当前 内网 和 外网 的IP 地址

本文介绍了一个使用Java编程语言实现的功能,用于获取本机的内网IP和外网IP。通过连接特定网址读取网页内容,解析出IP地址信息,实现了对外网IP的获取,并直接调用InetAddress类获取内网IP。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.URL;


public class UserIP {


 /**
  * @param args
 * @throws Exception 
*@author liuwl
  */
 public static void main(String[] args) throws Exception {
  System.out.println("本机的外网IP是:"+UserIP.getWebIP("http://www.ip138.com/ip2city.asp"));
  System.out.println("本机的内网IP是:"+UserIP.getLocalIP());
 }


 /**
  * 获取外网地址
  * @param strUrl
  * @return
  */
 public static String getWebIP(String strUrl) {
 try {
 //连接网页
  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("]");
  //获取网页中  当前 的 外网IP
  webContent = webContent.substring(start,end);
  return webContent;

 } catch (Exception e) {
  e.printStackTrace();
  return "error open url:" + strUrl;
 }
}
 
  public static String getLocalIP() throws Exception{
  String localIP = "";
  InetAddress addr = (InetAddress) InetAddress.getLocalHost();
  //获取本机IP
  localIP = addr.getHostAddress().toString();
  return localIP;
  }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值