簡體   English   中英

如何計算HTTP請求的執行時間

[英]How to calculate the execution time of HTTP request

我有一個這樣的函數,結果包含一個JSON對象。

public void rebuildhar() {

  StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
  StrictMode.setThreadPolicy(policy);

  List < MyResponse > list_response = new ArrayList < MyResponse > ();
  String[] parts = result.toString().split(",");

  List < String > list_parts = new ArrayList < String > ();
  String splitter = "\"url\":\"";

  for (int i = 0; i < parts.length; i++) {
   if (parts[i].startsWith(splitter)) {
    String clear_partial_string = parts[i].replace("\"url\":\"", "").replace("\"", "");
    list_parts.add(clear_partial_string);

    String address = clear_partial_string.replace("\\", "");

    try {
     url = new URL(address);
    } catch (MalformedURLException e) {
     Log.i(WEBPM_AGENT, e.toString());
    }

    if (url != null) {
     if (url.toString().contains("https")) {
      /*
      try {
      urlConnection = (HttpURLConnection) url.openConnection();
      } catch (IOException e) {
      e.printStackTrace();
      }
      urlConnection.setDoInput(true);
      urlConnection.setDoOutput(true);
      */
      wv = new WebView(AgentActivity.this);

      wv.getSettings().setLoadWithOverviewMode(true);
      wv.getSettings().setUseWideViewPort(true);
      wv.setInitialScale(1);
      wv.getSettings().setJavaScriptEnabled(true);

      wv.loadUrl(url.toString());
      wv.setWebViewClient(new WebViewClient() {


       @Override
       public void onPageStarted(WebView view, String url, Bitmap favicon) {
        tStart = System.currentTimeMillis();
       }

       @Override
       public void onPageFinished(WebView view, String url) {
        tEnd = System.currentTimeMillis();

        tDelta = (tEnd - tStart);

        System.out.println("DEBUG:" + "URL: " + url + "\n Time: " + tDelta/* +"\n Size: " +urlConnection.getContentLength()*/);

        tStart = 0;
        tEnd = 0;
        tDelta = 0;
       }
      });
      // list_response.add(new MyResponse(address,elapsedSeconds,urlConnection.getContentLength()));
     }
    }
   }
  }
 }

我想得到的是:

  • 對於JSON數組中的每個URL(HTTPS),我要測試請求的執行時間。

    • 將此數據保存在arrayList中

問題是tstart第一次運行后總是為0

但是此解決方案不起作用...

我們可以使用開發人員工具來計算響應時間。
通常,在所有瀏覽器中,按F12即可獲取它。

為Firfox提供幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM