全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Http请求长时间等待无结果返回解决办法

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Http请求长时间等待无结果返回  # Http请求长时间无信息返回  # Node.js发送HTTP客户端请求并显示响应结果的方法示例  # 模拟HTTP请求实现网页自动操作及数据采集的方法  # java 中http请求为了防止乱码解决方案  # Java使用HttpClient实现Post请求实例  # 微信小程序 http请求封装详解及实例代码  # Angular的$http的ajax的请求操作(推荐)  # 完美解决node.js中使用https请求报CERT_UNTRUSTED的问题  # 长时间  # 这部  # 的是  # 也不  # 没办法  # 希望能  # 写了  # 谢谢大家  # 在等待  # 解决办法  # 抛出  # 两行  # 主要是  # 应该是  # 发生了  # 器中  # BufferedReader  # PrintWriter  # null  # param 


相关文章: 建设网站制作价格,怎样建立自己的公司网站?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  如何打造高效商业网站?建站目的决定转化率  如何用搬瓦工VPS快速搭建个人网站?  建站之星后台管理:高效配置与模板优化提升用户体验  如何高效配置IIS服务器搭建网站?  如何在宝塔面板中修改默认建站目录?  如何用y主机助手快速搭建网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何正确选择百度移动适配建站域名?  建站之星代理如何优化在线客服效率?  如何在万网自助建站中设置域名及备案?  建站之星如何修改网站生成路径?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站制作公司排行榜,抖音怎样做个人官方网站  建站主机选购指南:核心配置与性价比推荐解析  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  公众号网站制作网页,微信公众号怎么制作?  如何用已有域名快速搭建网站?  建站之星24小时客服电话如何获取?  安徽网站建设与外贸建站服务专业定制方案  c++ stringstream用法详解_c++字符串与数字转换利器  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  建站之星导航菜单设置与功能模块配置全攻略  html制作网站的步骤有哪些,iapp如何添加网页?  网站图片在线制作软件,怎么在图片上做链接?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  TestNG的testng.xml配置文件怎么写  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  如何选择最佳自助建站系统?快速指南解析优劣  seo网站制作优化,网站SEO优化步骤有哪些?  英语简历制作免费网站推荐,如何将简历翻译成英文?  小建面朝正北,A点实际方位是否存在偏差?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  常州企业建站如何选择最佳模板?  如何快速搭建安全的FTP站点?  如何用美橙互联一键搭建多站合一网站?  如何高效利用200m空间完成建站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  建站之星如何保障用户数据免受黑客入侵?  外贸公司网站制作哪家好,maersk船公司官网?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  制作公司内部网站有哪些,内网如何建网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何在香港免费服务器上快速搭建网站?  如何快速查询网址的建站时间与历史轨迹?  实现点击下箭头变上箭头来回切换的两种方法【推荐】 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。