Java 如何获得本机IP 或者 公网IP

public static void main(String[] args) throws Exception {
  // 
  URL url = new URL("http://www.ip138.com/ip2city.asp");
  URLConnection conn = url.openConnection();
  conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15");
  conn.setRequestProperty("Content-Type", "text/html");
  conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
  InputStream is = conn.getInputStream();
  BufferedReader br = new BufferedReader(new InputStreamReader(is, "GB2312"));
  String line = null;
  while ((line = br.readLine()) != null) {
   if (line.contains("您的IP地址是")) {
    // System.out.println(line);
    int start = line.indexOf(‘[‘) + 1;
    int end = line.indexOf(‘]‘);
    System.out.println(line.substring(start, end));
   }
  }
  br.close();
 }
时间: 2024-08-10 17:17:48

Java 如何获得本机IP 或者 公网IP的相关文章

如何判断本地路由器IP是否公网IP?

如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址. 有这么一种情况:拉的联通的带宽,分配的IP只能在联通内部访问,移动网络不能访问.这个IP最多只能算是"联通内的公网IP",不是真的公网IP. 有多种方法都可以判断本地(路由)IP是否公网IP,以下一一罗列以供小伙伴们参考. 一,经验法: 1,一般电信adsl带宽在未升级大带宽前是(动态)公网IP.如果花费很少的钱给你升级为100M光纤上网,99.99%是内网IP,那0.01%是我还没有发现过案例. 2,代理网

C#获取本机局域网ip和公网ip

1.获取局域网ip IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[0];//获得当前IP地址string ip=ipAddr.ToString() ; 2.获取公网ip private static string GetIP() { string tempip = ""; try { WebRequest wr = WebRequest.Create("http://www.ip138.com/ip

域名查询IP及公网IP地址地理位置查询

#!/bin/bash printf "本脚本包含ip地理位置查询及已知域名查询IP \n" printf "###################################### \n" printf "/tmp/dns.txt 需要查询的域名列表目录 \n" printf "/tmp/dns_ip.txt 存放查询后的域名及IP对应目录 \n" printf "#######################

Java 判断IP地址为内网IP还是公网IP

tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255 172.16.0.0/12:172.16.0.0-172.31.255.255 192.168.0.0/16:192.168.0.0-192.168.255.255 那么,直接上代码吧: public static boolean internalIp(String ip) { byte[] addr = IPAddressUtil.textToNu

使用n2n在没有公网IP条件下访问树莓派

实现:在树莓派2和客户机都没有公网IP条件下实现远程访问控制 不足:暂时没实现网页代理 因为校园网环境没有公网IP,无法直接访问树莓派.之前有想过SSH反向代理:使用VPN,ddns(花生壳.no-ip)等方法,但是发现n2n实现起来很方便. 1.安装n2n 仓库里的是1.x版本,不过我用起来没问题. sudo apt-get install n2n sudo chmod +s /usr/sbin/edge 2.启动n2n edge -d edge0 -c 自定义网络名 -k 密码 -u 100

linux服务器查看公网IP信息的方法

参考: http://www.cnblogs.com/ksguai/p/6090115.html 最近在解决网络问题时,需要查看本机的出口公网IP信息,所以在网络上搜索和请求运维达人,获得如下两个方法: curl ifconfig.me 在linux系统中输入上述的命令,可以查看到本机连接的公网信息:如果该命令无效,可以使用下面一个命令,也同样可以获得对应的信息 curl cip.cc

自己家用电脑做站点server,解决动态IP、无公网IP、80port被封、HTTP被屏蔽

动态IP.无公网IP.80port被封.HTTP被屏蔽,这些问题都是自己的server做站点服务,easy遇到面对的问题.当出现这些问题时.能够利用当前的开放网络资源一一解决. 解决原理分析: 动态IP. 公网IP是动态变化的,利用动态域名解析,固定域名. 无公网IP.利用80port映射软件辅助,将内网站点应用映射到外网域名. 80port被封.相同可利用80port映射解决. HTTP被屏蔽.须要将WEB站点数据转换成非HTTP数据,或先加密,再公布站点应用. 以开放的NAT123网络辅助软

如何判断自己外网IP是否为真实公网IP,以及解决方案

    如何判断本地(路由器)分配的IP是否公网IP? 公网IP:全球唯一IP地址.(公网IP又分为静态公网IP和动态公网IP,如何分辨的话,进入路由器查看连接方式pppoe连接都是动态公网IP.) 有这么一种情况:拉的联通的带宽,分配的IP只能在联通内部访问,移动网络不能访问.这个IP最多只能算是"联通内的公网IP",不是真的公网IP. 有多种方法都可以判断本地(路由)IP是否公网IP,以下一一罗列以供小伙伴们参考. 一,经验法: 1,一般电信adsl带宽在未升级大带宽前是(动态)公

弹性公网IP绑定弹性网卡新功能及最佳实践

摘要: 通过弹性公网IP绑定弹性网卡功能,可以让企业打造出更更健壮,更灵活,扩展性更强的互联网IT解决方案. 两个最常见的最佳实践场景包括公网IP和私网IP同时在云服务器上迁移和单台云服务器支持多个公网IP. 什么是弹性公网IP弹性公网IP(Elastic IP Address,简称EIP),是可以独立购买和持有的公网IPv4地址资源. EIP可实时绑定/解绑到专有网络类型的ECS实例.弹性网卡.NAT网关和无公网IP的SLB实例上. 什么是弹性网卡弹性网卡(Elastic Network In