全网整合营销服务商

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

免费咨询热线: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 


相关文章: 威客平台建站流程解析:高效搭建教程与设计优化方案  建站主机解析:虚拟主机配置与服务器选择指南  代购小票制作网站有哪些,购物小票的简要说明?  如何快速搭建高效可靠的建站解决方案?  北京专业网站制作设计师招聘,北京白云观官方网站?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  建站ABC备案流程中有哪些关键注意事项?  如何在阿里云域名上完成建站全流程?  如何做网站制作流程,*游戏网站怎么搭建?  如何高效生成建站之星成品网站源码?  建站VPS选购需注意哪些关键参数?  网页设计与网站制作内容,怎样注册网站?  南宁网站建设制作定制,南宁网站建设可以定制吗?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  定制建站是什么?如何实现个性化需求?  如何在腾讯云免费申请建站?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  深入理解Android中的xmlns:tools属性  c# Task.ConfigureAwait(true) 在什么场景下是必须的  简单实现Android验证码  建站中国官网:模板定制+SEO优化+建站流程一站式指南  安云自助建站系统如何快速提升SEO排名?  建站之星代理如何获取技术支持?  制作企业网站建设方案,怎样建设一个公司网站?  建站之星如何配置系统实现高效建站?  建站之星收费标准详解:套餐费用及年费价格表一览  建站主机与服务器功能差异如何区分?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  股票网站制作软件,网上股票怎么开户?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  公众号网站制作网页,微信公众号怎么制作?  如何基于PHP生成高效IDC网络公司建站源码?  如何有效防御Web建站篡改攻击?  如何快速搭建高效WAP手机网站吸引移动用户?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  济南企业网站制作公司,济南社保单位网上缴费步骤?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  如何自定义建站之星模板颜色并下载新样式?  PHP正则匹配日期和时间(时间戳转换)的实例代码  北京企业网站设计制作公司,北京铁路集团官方网站?  建站之星图片链接生成指南:自助建站与智能设计教程  制作网站的公司有哪些,做一个公司网站要多少钱?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗? 

您的项目需求

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