httpclient4 阻塞问题,httpclient4阻塞, public H
分享于 点击 12361 次 点评:63
httpclient4 阻塞问题,httpclient4阻塞, public H
public HttpResponse get(HttpClient client,String url) throws ClientProtocolException, IOException{ if(client==null)client = HttpClientBuilder.create().build(); Builder builder = RequestConfig.custom(); if(proxyHost!=null){ builder.setProxy(new HttpHost(proxyHost,proxyPort)); } RequestConfig config = builder.build(); List<BasicNameValuePair> paramList = null; HttpGet get = new HttpGet(url); get.setConfig(config); get.addHeader(new BasicHeader("User-Agent",userAgent));// post.setHeader(new BasicHeader("Cookie",getCookie())); return client.execute(get); }
假如我执行以下代码
for(int i=0;i<20;i++){ HttpResponse resp = get(httpclient,"http://www.baidu.com"); System.out.println("ok");}
正常情况下只会打印2个ok,就阻塞了,我们在打印ok的上边加个 resp.getEntity().getContent().close();就ok了。
用户点评