2015-07-28 7 views
0

Я использую Apache httpclient и httpcore для реализации HTTP-запросов в моем проекте. Недавно я нахожу этот вопрос: у меня есть метод с этим теломApache httpclient Содержимое объекта ответа GET пусто

CloseableHttpClient httpclient = HttpClients.createDefault(); 
    try {  
     HttpGet httpGet = new HttpGet(URL); 

     CloseableHttpResponse response = httpclient.execute(httpGet); 
     Header[] h = response.getAllHeaders(); 
     for (int i = 0; i < h.length; i++) { 
      System.out.println(h[i].getName()); 
     } 
     System.out.println(response.getStatusLine().getStatusCode()); 
     HttpEntity entity = response.getEntity(); 
     InputStream content = entity.getContent(); 
     System.out.println(entity.getContentLength()); 

     org.jsoup.nodes.Document doc = Jsoup 
       .parse(convertStreamToString(content)); 

     System.out.println(convertStreamToString(content)); 
     EntityUtils.consume(entity); 
    } catch (UnsupportedEncodingException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } catch (ClientProtocolException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } catch (IOException e2) { 
     // TODO Auto-generated catch block 
     e2.printStackTrace(); 
    } 

с действительной URL, но содержание пустое и код состояния 200.

Стараюсь с плагин RESTClient Firefox и а простой запрос GET с тем же URL-адресом и без заголовков (ответ на содержимое не пуст).

Также повторная отправка запроса Get с помощью отладки firefox (на этот раз с уже имеющимися заголовками по умолчанию).

Ps: Я, очевидно, пытаюсь добавить все заголовки, но ничего :(

Может кто-то помочь мне с компонентами Apache

ответ

0

Я решил: метод convertStreamToString (содержание) редактировать содержание так было достаточно вызова метод только один раз (или использовать другие переменные obv).

Смежные вопросы