Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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中检查url连接状态_Java_Httpurlconnection - Fatal编程技术网

如何在java中检查url连接状态

如何在java中检查url连接状态,java,httpurlconnection,Java,Httpurlconnection,我使用“URLConnection”在java中执行get请求。我将get请求发送到不同的Ip地址以生成警报。如果url有效,它会建立连接并读取url返回的数据,但如果连接失败,它不会返回任何内容。我需要知道urlconnection中是否有isconnect方法,因为我需要为我的程序设置一个标志,但我找不到任何方法来确定不成功的连接,我使用以下代码: URL=新的URL(地址) 我需要执行带注释的if条件,但我正在努力,因为如果ip无效或不存在,程序在“bufferedReader br”语句

我使用“URLConnection”在java中执行get请求。我将get请求发送到不同的Ip地址以生成警报。如果url有效,它会建立连接并读取url返回的数据,但如果连接失败,它不会返回任何内容。我需要知道urlconnection中是否有isconnect方法,因为我需要为我的程序设置一个标志,但我找不到任何方法来确定不成功的连接,我使用以下代码: URL=新的URL(地址)


我需要执行带注释的if条件,但我正在努力,因为如果ip无效或不存在,程序在“bufferedReader br”语句之后无法到达。

url.openConnection,conn.getInputStream将在无法建立连接时抛出异常

唯一的问题是,如果您的服务器将接受conneciton,但不会发送enything(因为它挂起,服务器端的代码有一个bug)。 因此,当异常发生时,必须调用setConnectTimeout来获取异常

您已经设置了超时。异常处理应该完成这项工作

试试看{
URLConnection conn=url.openConnection();
连接设置连接超时(20);
conn.setReadTimeout(…)
BufferedReader br=新的BufferedReader(新的InputStreamReader(conn.getInputStream());
System.out.println(“已连接”);
而((line=br.readLine())!=null){
结果+=行;
}
}捕获(IOE异常){
…处理错误的地址、超时等
}

使用try/catch捕获相关异常。连接超时无法解决服务器不发送任何内容的问题。你需要一个读取超时。20毫秒对这两种时间来说都太短了。
         URLConnection conn = url.openConnection();
         conn.setConnectTimeout(20);
         //bool flag=conn.isconnect()


        BufferedReader br = new BufferedReader(new 
        InputStreamReader(conn.getInputStream()));              
       System.out.println("connected"); 

      while ((line = br.readLine()) != null)
      {
        result += line;

      }
      //if (flag){triggered the ip}
      //if (!flag){not triggered}