Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > HttpResponse как получить контент?


Автор: lugaru 18.8.2012, 13:52
Я посылаю запрос, принимаю ответ, ответ приходит в HTTP пакете, контент в формате или HTML или XML, а вот вытащить его не могу. 
Код

HttpPost post = new HttpPost(request);
HttpResponse resp = httpclient.execute(post);
post.abort();



что надо сделать что бы вытащить контент?

Автор: Stolzen 18.8.2012, 15:10
Код

private String executeRequest(HttpUriRequest request) {
        try {
            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();
            return IOUtils.toString(entity.getContent(), "UTF-8");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }


Автор: lugaru 18.8.2012, 17:13
Цитата(Stolzen @ 18.8.2012,  15:10)
Код

private String executeRequest(HttpUriRequest request) {
        try {
            HttpResponse response = httpclient.execute(request);
            HttpEntity entity = response.getEntity();
            return IOUtils.toString(entity.getContent(), "UTF-8");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }


не работает, так пробывал, дает
Код

 java.lang.RuntimeException: java.net.SocketException: Socket is closed


Добавлено через 5 минут и 42 секунды
А нет, все заработало, просто одно мелочь упустил, я post.abort(); не перенес, вот и ругалось!)))) спасибо!

Автор: mbasil 19.8.2012, 09:38
 
Код

 try {
          StringBuilder sb = new StringBuilder();
          BufferedReader bin = null;
          String s;
          try { 
             bin = new BufferedReader (
                      new InputStreamReader( request.getInputStream(), "UTF-8" ));
             while( (s = bin.readLine()) != null )
                       sb.append( s );
           } catch( IOException e1 ) {
              sendResponse( response, HttpServletResponse.SC_OK, errMsg );
              return;
           } finally {
              try { bin.close(); } catch (IOException e) {}
           }
          String msg = processRequest( sb.toString() );
          sendResponse( response, HttpServletResponse.SC_OK, msg );
      } catch( Throwable e2 ) {
         . . .
      }
   

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)