httpclient.execute()不执行也不报错解决办法

当然,这里只是根据我的错误具体说一下解决办法,情况与我有不同的爱莫能助了。

public List<String> getUsernameFromHtml()
        { 
            List<String> list=null;
            HttpGet hg=new HttpGet("http://www.sina.com/PUB/foot.aspx");
            try {
                hg.setHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36" );
                hg.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                hg.setHeader( "Accept-Language","zh-CN,zh;q=0.8,en;q=0.6");
                hg.setConfig(requestConfig); //设置超时

                CloseableHttpResponse response=httpclient.execute(hg);
                System.out.println(response.getStatusLine()); 
                HttpEntity entity=response.getEntity();
                HtmlUtils hu=new HtmlUtils();
                list=hu.getHtmlContentsByidName(EntityUtils.toString(entity), "lbl_userinfo");
                //这一串字符还需要用htmlparse进行解析哦
            }catch (Exception e) {
                e.printStackTrace();
            }
            return list;
        }

这段代码其实是没有任何问题的,所有的变量我都调试过,都有值,
但是就是执行到httpclient.execute()的时候就是不执行,我猜想是不是因为httpclient实例已经没有了,是不是已经被java的回收器回收了。
于是我就从新new 了一个,放了进去,将原来的cookie也放进去,就可以做到同一个cookie访问了
修改后添加代码为

CloseableHttpClient httpclient2 = HttpClients.custom()
                        .setDefaultCookieStore(cos)
                        .build();  

——-后之览者,或将有感于斯文

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值