碰到个案例,一个域名比如
xxx.com
xxx.com:8080
两个指向不同的IP
用java怎么获取呢? 我测试了两种方法都不行 1.InetAddress.getAllByName("xxx.com")
想获取所有的ip,结果没有我想要的那个
2.InetSocketAddress Iaddr=new InetSocketAddress("xxx.com",8080);
System.out.println(Iaddr.getAddress());
结果这个ip跟xxx.com是一样的ip 怎么获取到正确的ip呢?
xxx.com
xxx.com:8080
两个指向不同的IP
用java怎么获取呢? 我测试了两种方法都不行 1.InetAddress.getAllByName("xxx.com")
想获取所有的ip,结果没有我想要的那个
2.InetSocketAddress Iaddr=new InetSocketAddress("xxx.com",8080);
System.out.println(Iaddr.getAddress());
结果这个ip跟xxx.com是一样的ip 怎么获取到正确的ip呢?
也就是说,域名解析,只能将域名转换成IP地址。
楼主所说的,应该是当你访问到某个域名下的主机时。
若访问的是主机的某个端口的程序(如:8080),这时,程序会转向到其他主机上面。
通过域名解析这条路,是行不通的。
楼主可以具体分析一下,那个8080端口的程序,是个什么样的跳转。
如果是Http的页面跳转,楼主可以写一个简单的Http客户端程序,将其对应转向的域名,或者IP捕获下来。
如果要是IP代理之类的,就没有什么办法了。
2 除非使用了动态DNS, 比如 sina 等大型网站,基于负载均衡的考虑
不过一般来说应该不会这么做比如LINUX下,就可以通过IPTABLES来转发
就算是DNS负载均衡,它也和端口无关.
java资料太多?在网页中选中想收藏的文字(图片),右键选“收录到易载”,搞定!
Socket(InetAddress address,int port,InetAddress localAddr,int localPort) throws IOException
已经知道本机IP地址、本机端口和远程端口,就能知道远程的IP地址。