Невозможно найти данные тела из ответа http - PullRequest
0 голосов
/ 12 февраля 2011

Я выполняю HTTP-запрос POST пары имя / значение, а затем пытаюсь получить тело ответа HTTP (и поместить его в строку с именем description).

Я не могу найти способ доступа к телу ответного сообщения.То, что я имею ниже, - лучшее, что я придумала до сих пор, но это не работает.Переменная "description" просто оказывается пустой.

Конечная цель состоит в том, чтобы на стороне сервера был код, который принимает данные почты и возвращает тело сообщения, содержащее полезную информацию.На данный момент у меня есть только заглушка HTML, которая всегда возвращает одно и то же (см. HTML ниже).Другими словами, приложение отправит DTC (диагностический код неисправности с автомобиля) на сервер, а сервер найдет его и отправит обратно текст описания внутри тела HTML.

Исходный код метода:

public String getDTCDescription (String DTC) {
    String description = "";

    String url = "http://site/test.html";
    List<NameValuePair> args = new ArrayList<NameValuePair>();

    args.add(new BasicNameValuePair("testkey","testValue")); 

    HttpResponse h;

    h = postData(url, args);

    BufferedInputStream content = null; 
    try {
        content = new BufferedInputStream(h.getEntity().getContent());
    } catch (Exception e) {
        Log.e("NetDTCInfo",e.getMessage());
    }

    if (content == null) {
        return "";
    }

    // try and loop through all the data waiting on the input stream. 
    try {
        while (content.available() > 0) {
            Log.d("NetDTCInfo","Reading a byte...");
            description = description + (char) content.read();
            Log.d("NetDTCInfo","Description is now: " + description);
        }
    } catch (IOException e) {
        Log.e("NetDTCInfo","Error while reading. " + e.getMessage());
    }


    return description;
}

Исходный код файла test.html

<code><html>
        <body>
                <pre>
                        P0521|This is a description of DTC code P0521.
                

1 Ответ

1 голос
/ 12 февраля 2011

Похоже, ваша стратегия заключается в том, чтобы сделать это сложнее, а не отправлять HTML-страницу с перекомпоновкой, просто отправьте строку, которую вы хотите получить, наконец, на стороне клиента. Еще одно, что я хотел бы предложить, если у вас есть более сложные данные в ответном сообщении, чем использовать XML-ответ и SAX-разбор на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...