response = httpClient.execute(httpGet)不返回response

来源:互联网 发布:php程序用什么软件 编辑:程序博客网 时间:2024/05/01 08:36
待解决:response = httpClient.execute(httpGet)不返回response
线程挂起,一直等待服务器返回
设置socket超时后会抛出异常中断
private static String sendGet(String url) {String result = "";// 设置请求配置RequestConfig globalConfig = RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARD).setConnectionRequestTimeout(10000).setConnectTimeout(10000).setSocketTimeout(50000). build();// 打开浏览器CloseableHttpClient httpClient = HttpClients.custom().setDefaultRequestConfig(globalConfig).build();HttpPost httpGet = new HttpPost(url);// 设置头httpGet.addHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36");httpGet.addHeader("Cookie", "_gat=1; nsfw-click-load=off; gif-click-load=on; _ga=GA1.2.1861846600.1423061484");// 收到回复CloseableHttpResponse response;try {response = httpClient.execute(httpGet);System.out.println("status:" + response.getStatusLine().getStatusCode());result = EntityUtils.toString(response.getEntity(), "utf-8");EntityUtils.consume(response.getEntity());response.close();httpGet.releaseConnection();httpClient.close();} catch (ClientProtocolException e) {// TODO Auto-generated catch blockSystem.out.println("发送GET请求出现异常!" + e);e.printStackTrace();MyCollections.writeLog(e);} catch (IOException e) {// TODO Auto-generated catch blockSystem.out.println("发送GET请求出现异常!" + e);e.printStackTrace();MyCollections.writeLog(e);}return result;}

0 0