java代码如何获取本机外网IP地址呢?

书欣 Java经验 发布时间:2022-10-09 22:34:44 阅读数:17926 1
下文笔者讲述使用java代码获取本机的外网IP地址的方法分享,如下所示
实现思路:
    使用http访问去指定网址即可获取本机的外网IP地址

获取本地IP地址的方法

 
public static String getLocalAddress(){
	String ip = "";
	try {
		ip = InetAddress.getLocalHost().getHostAddress();
	} catch (UnknownHostException e) {
		e.printStackTrace();
	}
	//本机IP地址
	return ip;
}

获取外网本机的IP地址的方法

此处我们需借助 去http://ip.chinaz.com/请求
然后返回外网IP地址
public static String getIPV4(){
	String ip = "";
	String chinaz = "http://ip.chinaz.com";
	
	StringBuilder inputLine = new StringBuilder();
	String read = "";
	URL url = null;
	HttpURLConnection urlConnection = null;
	BufferedReader in = null;
	try {
		url = new URL(chinaz);
		urlConnection = (HttpURLConnection) url.openConnection();
	    in = new BufferedReader( new InputStreamReader(urlConnection.getInputStream(),"UTF-8"));
		while((read=in.readLine())!=null){
			inputLine.append(read+"\r\n");
		}
		//System.out.println(inputLine.toString());
	} catch (MalformedURLException e) {
		e.printStackTrace();
	} catch (IOException e) {
		e.printStackTrace();
	}finally{
		if(in!=null){
			try {
				in.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
	Pattern p = Pattern.compile("\\<dd class\\=\"fz24\">(.*?)\\<\\/dd>");
	Matcher m = p.matcher(inputLine.toString());
	if(m.find()){
		String ipstr = m.group(1);
		ip = ipstr;
	}
	return ip;
}
相关阅读:
Java中获取本机的外网IP地址呢
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202210/16653262044601.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者