Android: как определить, завершена ли обработка запроса HTTP PUT - PullRequest
1 голос
/ 20 июня 2011

Просто интересно, знает ли кто-нибудь, как определить, когда запрос HTTP PUT завершен. Например:

    HttpClient http = new DefaultHttpClient();
    HttpPut putmethod = new HttpPut("http://abc.com/SETTINGS.TXT");
    putmethod.setEntity(new StringEntity(data));
    HttpResponse response = http.execute(putmethod);

Как узнать, когда файл полностью передан / записан. Нужно ли следить за HttpResponse? Если да, то что я ищу?

Спасибо

Ответы [ 2 ]

3 голосов
/ 20 июня 2011

Если ваш запрос успешно завершен, тогда http-клиент вернет код успеха 200, если он потерпит неудачу, тогда он вернет другой код (страница 401, а не fount и т. Д.).

, чтобы вы могли проверить код с ответом и зарегистрировать соответствующее сообщение.

Пример

HttpClient http = new DefaultHttpClient();
HttpPut putmethod = new HttpPut("http://abc.com/SETTINGS.TXT");
putmethod.setEntity(new StringEntity(data));
HttpResponse response = http.execute(putmethod);

if (response.getStatusLine().getStatusCode()  == 200) 
            {
                is = response.getEntity().getContent();
                int ch;
                sb = new StringBuffer();
                while ((ch = is.read()) != -1) {
                    sb.append((char) ch);
                }
                // Log sb . it prints the response you get.
            }
0 голосов
/ 20 июня 2011

если вы хотите проверить, что файл полностью передан, попробуйте это ..

String data = EntityUtils.toString(response.getEntity());
System.out.println("Data in .."+data);

в данных, которые вы получите ответ от сервера ...

...