2017-06-01 16 views
-5

我已经写了一个代码来查找网页的响应时间,但它总是 给0时间。有人可以完成这段代码来获得响应时间java代码找到网页的响应时间,而不使用硒和Apache

mycode的

import java.io.*; 
import java.net.URL; 
public class NewClass { 
public static void main(String[] args) throws IOException { 


    long start = System.currentTimeMillis(); 

    URL myURL = new URL("https://stackoverflow.com/"); 


    long finish = System.currentTimeMillis(); 
    long totalTime = finish - start; 

    System.out.println("Total Time for page load - "+totalTime); 

} 

} 
+3

您正在测量对象实例化时间。哪些代码击中这个网址? –

+0

您只能创建一个URL对象。你永远不会叫这个 – Jens

+0

你能上传那个代码吗 – mahi

回答

0

你可以用

HttpURLConnection connection = null; 
     try { 
       URL url = new URL("http://stackoverflow.com/"); 
       connection = (HttpURLConnection) url.openConnection(); 

       long start = System.currentTimeMillis(); 
       String jsonResponse = myInputStreamReader(connection.getInputStream()); 

       long finish = System.currentTimeMillis(); 
       long totalTime = finish - start; 
       System.out.println("Total Time for page load - " + totalTime); 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } finally { 
       connection.disconnect(); 
      } 

    static public String myInputStreamReader(InputStream in) throws IOException { 

      StringBuilder sb = null; 
      try { 
       InputStreamReader reader = new InputStreamReader(in); 
       sb = new StringBuilder(); 
       int c = reader.read(); 
       while (c != -1) { 
        sb.append((char) c); 
        c = reader.read(); 
       } 
       reader.close(); 
       return sb.toString(); 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } finally { 
      } 
      return sb.toString(); 
     } 
+0

这里你用过apache,但我只需要用java库函数 – mahi

+0

好吧等几分钟我会上传它没有它:) –

+0

好的,先谢谢 – mahi

0

这里做的是回答你的问题:

你可以找到网页的响应时间,即使不使用硒和Apache通过java.net.URLjava.net.HttpURLConnection类如下 -

import java.net.HttpURLConnection; 
import java.net.URL; 

public class Q44304154_response_time_of_webpage_2 { 

public static void main(String[] args) throws Exception { 


    long start = 0; 
    long finish = 0; 
    String stack_url = "https://stackoverflow.com/"; 

    try { 
     URL url = new URL(stack_url); 
     HttpURLConnection httpUrlConnect = (HttpURLConnection) url.openConnection(); 
     httpUrlConnect.setConnectTimeout(5000); 
     start = System.currentTimeMillis(); 
     httpUrlConnect.connect(); 

     if (httpUrlConnect.getResponseCode() == 200) 
     { 
      finish = System.currentTimeMillis(); 
      System.out.println(stack_url + " - " + httpUrlConnect.getResponseMessage() + " took " + (finish-start) + " Milli Seconds."); 
     } 

     if (httpUrlConnect.getResponseCode() == httpUrlConnect.HTTP_NOT_FOUND) 
     { 
      System.out.println(
        stack_url + " - " + httpUrlConnect.getResponseMessage() + " - " + httpUrlConnect.HTTP_NOT_FOUND); 
     } 
    } 
    catch (Exception e) 
    { 

    } 

    System.out.println("Total Time for page load - "+ (finish-start)); 

} 


} 

让我知道如果这个回答你的问题。

+0

是的我得到了答案谢谢:) – mahi

+0

,我想知道,如果我想要采取这种响应时间,每分钟一次,我应该在哪里设置计时器 – mahi

+0

@mahi很高兴能够帮助你。您可以通过'netbeans'将这个代码块放在一个循环中,因为它是纯Java代码,因此您可以考虑向我们展示您的工作。随意提出一个新的问题与您的新要求。谢谢 – DebanjanB

相关问题