婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Http請求長時間等待無結果返回解決辦法

Http請求長時間等待無結果返回解決辦法

熱門標簽:企業怎么在聯通申請400電話 如何用中國地圖標注數字點 百度地圖添加標注圖標樣式 泰州泰興400電話 怎么申請 南昌市地圖標注app 聊城智能電銷機器人外呼 好操作的電話機器人廠家 南京新思維電話機器人 地圖標注市場怎么樣

Http請求長時間等待無結果返回解決辦法

今天遇到一個奇葩的問題,這個程序主要是用于調用接口搜集數據的,但是,發生了不好的事情就是服務器中啟動的進程非常多,一直無法結束,沒辦法只能采用kill的方法,將所有的這部分進程殺掉。

分析了下程序,寫了個測試,本地跑依舊長時間等待,無法運行,也不拋出異常,最后發現問題在于發送請求的部分,一直在等待對方服務器響應,由于采用的是keep-alive方式的連接,這里沒有采用超時的方式,以至于程序會長時間等待下去。

經過測試發現開啟進程過多在于沒有設置超時,希望讀者注意這部分,否則,容易出現筆者遇到的這種問題。最終的問題應該是接口提供方的異常導致。

public static String sendPost(String url, String param) {
      PrintWriter out = null;
      BufferedReader in = null;
      String result = "";
      try {
        URL realUrl = new URL(url);
        // 打開和URL之間的連接
        URLConnection conn = realUrl.openConnection();
        // 設置通用的請求屬性
        conn.setRequestProperty("accept", "*/*");
        conn.setRequestProperty("connection", "Keep-Alive");
        conn.setRequestProperty("user-agent",
            "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
        conn.setConnectTimeout(4000);
        conn.setReadTimeout(4000);
        // 發送POST請求必須設置如下兩行
        conn.setDoOutput(true);
        conn.setDoInput(true);
        // 獲取URLConnection對象對應的輸出流
        out = new PrintWriter(conn.getOutputStream());
        // 發送請求參數
        out.print(param);
        // flush輸出流的緩沖
        out.flush();
        // 定義BufferedReader輸入流來讀取URL的響應
        in = new BufferedReader(
            new InputStreamReader(conn.getInputStream()));
        String line;
        while ((line = in.readLine()) != null) {
          result += line;
        }
      } catch (Exception e) {
        System.out.println("發送 POST 請求出現異常!");
        //e.printStackTrace();
      }
      //使用finally塊來關閉輸出流、輸入流
      finally{
        try{
          if(out!=null){
            out.close();
          }
          if(in!=null){
            in.close();
          }
        }
        catch(IOException ex){
          //ex.printStackTrace();
        }
      }
      return result;
    }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • Node.js發送HTTP客戶端請求并顯示響應結果的方法示例
  • 模擬HTTP請求實現網頁自動操作及數據采集的方法
  • java 中http請求為了防止亂碼解決方案
  • Java使用HttpClient實現Post請求實例
  • 微信小程序 http請求封裝詳解及實例代碼
  • Angular的$http的ajax的請求操作(推薦)
  • 完美解決node.js中使用https請求報CERT_UNTRUSTED的問題

標簽:臨汾 自貢 白銀 烏蘭察布 山南 開封 吉林 銅川

巨人網絡通訊聲明:本文標題《Http請求長時間等待無結果返回解決辦法》,本文關鍵詞  Http,請求,長時間,等待,無結果,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Http請求長時間等待無結果返回解決辦法》相關的同類信息!
  • 本頁收集關于Http請求長時間等待無結果返回解決辦法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 永兴县| 府谷县| 商河县| 遂川县| 叙永县| 通化县| 衡水市| 报价| 清镇市| 金华市| 怀安县| 乌苏市| 固始县| 陕西省| 武山县| 榆中县| 手游| 潜江市| 博乐市| 荆州市| 商洛市| 丰都县| 金寨县| 九龙城区| 宜昌市| 兴安县| 什邡市| 明光市| 萨迦县| 土默特左旗| 罗山县| 双柏县| 灵璧县| 尉氏县| 通化县| 孟村| 开鲁县| 五大连池市| 建水县| 英山县| 芦山县|