国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

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

2024-09-05 00:23:02
字體:
來源:轉載
供稿:網友

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;    }

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


注:相關教程知識閱讀請移步到JSP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香港| 佳木斯市| 西和县| 保山市| 库尔勒市| 大名县| 德阳市| 任丘市| 郁南县| 阳朔县| 安阳县| 威远县| 盐津县| 南靖县| 本溪市| 阿鲁科尔沁旗| 彝良县| 开化县| 江华| 沙雅县| 西峡县| 永康市| 丹棱县| 顺昌县| 威信县| 出国| 伊川县| 克拉玛依市| 涿鹿县| 安吉县| 毕节市| 霍州市| 和平县| 镇康县| 玉门市| 南涧| 济源市| 达孜县| 莱芜市| 康平县| 恩平市|