Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java InetAddress获取IP不一致_Java_Timeout_Ip_Ip Address_Inetaddress - Fatal编程技术网

Java InetAddress获取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);

我试图浏览一个URL列表并获取他们的IP,但我注意到,有时它会挂在网站上,永远不会移动,有时它会跳过一堆网站。有人知道这是什么原因吗

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吗?只是少数:它运行了一次,但当我再次运行它时,我遇到了相同的问题。你是说当你第一次运行它时,它运行正常,而当你再次运行它时,你遇到了相同的问题?是的,但我发现了,这是我的过程方法中的一个问题。谢谢