本文主要是介绍java 获得外网ip,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原理:
先用JSoup访问www.ip138.com,从页面中提取出本机的公网ip。
要在工程中加入JSoup包。
代码如下:
- import java.io.IOException;
- import org.jsoup.Connection;
- import org.jsoup.Jsoup;
- public class Test {
- /**
- * 得到本机的外网ip,出现异常时返回空串""
- * @return
- */
- private static String getPublicIP() {
- String ip = "";
- org.jsoup.nodes.Document doc = null;
- Connection con = null;
- // 连接 www.ip138.com 网页
- con = Jsoup.connect("http://iframe.ip138.com/ic.asp").timeout(10000);
- try {
- doc = con.get();
- // 获得包含本机ip的文本串:您的IP是:[xxx.xxx.xxx.xxx] 来自:中国
- org.jsoup.select.Elements els = doc.body().select("center");
- for (org.jsoup.nodes.Element el : els) {
- ip = el.text();
- }
- // 从文本串过滤出ip,用正则表达式将非数字和.替换成空串""
- ip = ip.replaceAll("[^0-9.]", "");
- } catch (IOException e) {
- e.printStackTrace();
- return ip;
- }
- return ip;
- }
- public static void main(String[] args) {
- String str = getPublicIP();
- System.out.println(str);
- }
- }
这篇关于java 获得外网ip的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!