Java InetAddress获取IP不一致
我试图浏览一个URL列表并获取他们的IP,但我注意到,有时它会挂在网站上,永远不会移动,有时它会跳过一堆网站。有人知道这是什么原因吗Java InetAddress获取IP不一致,java,timeout,ip,ip-address,inetaddress,Java,Timeout,Ip,Ip Address,Inetaddress,我试图浏览一个URL列表并获取他们的IP,但我注意到,有时它会挂在网站上,永远不会移动,有时它会跳过一堆网站。有人知道这是什么原因吗 for (String site : sites) { try { address = InetAddress.getByName(new URL(site).getHost()).getHostAddress(); } catch (Exception e) { System.out.println(e);
for (String site : sites) {
try {
address = InetAddress.getByName(new URL(site).getHost()).getHostAddress();
} catch (Exception e) {
System.out.println(e);
}
IPList.put(address, site);
publish(site);
}
编辑:我已经把问题缩小到发布方法。它似乎在有机会发布所有内容之前就完成了for循环,然后它就停止了
EDIT2:我发现了,我这方面的小错误。谢谢。试试这个:
private ArrayList<String> ips = new ArrayList<String>();
for (String site : sites) {
try {
address = InetAddress.getByName(new URL(site).getHost());
} catch (Exception e) {
System.out.println(e);
}
String ip = address.getHostAddress();
ips.add(ip);
}
private ArrayList ips=new ArrayList();
用于(字符串站点:站点){
试一试{
address=InetAddress.getByName(新URL(site.getHost());
}捕获(例外e){
系统输出打印ln(e);
}
字符串ip=address.getHostAddress();
添加(ip);
}
您可以发布您正在测试的URL吗?只是少数:它运行了一次,但当我再次运行它时,我遇到了相同的问题。你是说当你第一次运行它时,它运行正常,而当你再次运行它时,你遇到了相同的问题?是的,但我发现了,这是我的过程方法中的一个问题。谢谢