Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
AeroWhite
Форумчанин.NET
540 / 411 / 63
Регистрация: 12.02.2013
Сообщений: 835
#1

Не приходит ответ при HttpPost - Программирование Android

21.04.2014, 13:55. Просмотров 736. Ответов 4
Метки нет (Все метки)

Уже неделю мучаюсь с одной проблемой. Необходимо отправить запрос на сервер и получить ответ. Запрос, как я понимаю, проходит, однако ответ по какой-то причине не приходит.
Запрос с AsyncTask:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
  class RequestTask extends AsyncTask<String, String, String> {
 
        @Override
        protected String doInBackground(String... params) {
 
                try {
                        DefaultHttpClient hc = new DefaultHttpClient();
                        ResponseHandler<String> res = new BasicResponseHandler();
                        HttpPost postMethod = new HttpPost(params[0]);
 
                        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                        nameValuePairs.add(new BasicNameValuePair("s", tvText.getText().toString()));
                        nameValuePairs.add(new BasicNameValuePair("per_pg", "100"));
                        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                        String response = hc.execute(postMethod, res);
                        respText.setText(response.toString());
                } catch (Exception e) {
                        System.out.println("Exp=" + e);
                }
                return null;
        }
 
        @Override
        protected void onPostExecute(String result) {
 
                dialog.dismiss();
                super.onPostExecute(result);
        }
 
        @Override
        protected void onPreExecute() {
 
                dialog = new ProgressDialog(FullscreenActivity.this);
                dialog.setMessage("Ищем...");
                dialog.setIndeterminate(true);
                dialog.setCancelable(true);
                dialog.show();
                super.onPreExecute();
        }
}
Вызываю так:
Java
1
2
3
4
5
6
        startButton.setOnClickListener (new OnClickListener() {
            @Override    
            public void onClick (View v) {
                            new RequestTask().execute("http://textpesni.org/");
            }
            });
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 13:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не приходит ответ при HttpPost (Программирование Android):

JSOUP POST. В ответ вместо JSon приходит разметка страницы с полями для ввода данных - Программирование Android
Делаю пост запрос к апи сайта. Назад должен получить json, однако получаю разметку страницы с полями для ввода данных. Т.е. как будто...

Кодировка в httppost - Программирование Android
Здравствуйте, имеется такая проблема. хочу отправить файл с параметром на свой сервер делаю так: Thread myThread = new Thread(new...

HttpPost конфликтует с БД - Программирование Android
Добрый вечер! Столкнулся со следующей проблемой, я имею два корректно работающих приложения: первое выполняет POST запрос и получает...

HttpPost и PHP. Не подключается к MySQL - Программирование Android
Есть у меня mysql сервер на localhost:88 с бд &quot;test&quot;, username &quot;root&quot; и таблицей &quot;example&quot;, которая содержит поля id и name. Мне нужно...

Не приходит ответ с сервера при POST-запросе - Java Сети
Здравствуйте. Пытаюсь через Java отправить POST-запрос на сервер (обычную символьную строку типа &quot;token: ygKhigLI3fGR4hL&quot;). Вот...

Не приходит ответ от бд - PHP БД
$dbh = mysql_connect(HOST, USER, PSWD) or die(&quot;Не могу соединиться с MySQL.&quot;); $db = mysql_select_db(DATABASE); $query = &quot;SELECT...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
YuraAAA
1574 / 1316 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
21.04.2014, 14:10 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
AeroWhite, пробовали дебажить? Поставить брекпоинт на String response = hc.execute(postMethod, res); и посмотреть
1
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
21.04.2014, 15:06 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от AeroWhite Посмотреть сообщение
super.onPostExecute(result);
а куда вы отправляете результат? и не видно где вы его обрабатываете
1
AeroWhite
Форумчанин.NET
540 / 411 / 63
Регистрация: 12.02.2013
Сообщений: 835
21.04.2014, 16:54  [ТС] #4
Благодаря Вашим советам нашел-таки ошибку.
Я не возвращал ответ:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        @Override
        protected String doInBackground(String... params) {
 
                try {
                        DefaultHttpClient hc = new DefaultHttpClient();
                        ResponseHandler<String> res = new BasicResponseHandler();
                        HttpPost postMethod = new HttpPost(params[0]);
 
                        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                        nameValuePairs.add(new BasicNameValuePair("s", tvText.getText().toString()));
                        nameValuePairs.add(new BasicNameValuePair("per_pg", "100"));
                        postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                        String response = hc.execute(postMethod, res);
                        return response.toString();
                } catch (Exception e) {
                        System.out.println("Exp=" + e);
                }
                return null;
        }
И из-за этого же не выводил его:
Java
1
2
3
4
5
6
        @Override
        protected void onPostExecute(String result) {
 
                dialog.dismiss();
                respText.setText(result);
        }
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
21.04.2014, 17:24 #5
Цитата Сообщение от AeroWhite Посмотреть сообщение
И из-за этого же не выводил его:
совет, добавьте проверку на нулл в onPost, что бы когда произойдет ошибка не вывалилось приложение
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2014, 17:24
Привет! Вот еще темы с ответами:

Не приходит ответ от сервера - PHP
Всем привет! Довелось мне написать клиентскую часть для работы с сервером и так уж вышло, что мне не приходит ответ на элементарный...

Не приходит ответ от сервлета - Java
Из апплета вызывается сервлет Сервлет стоит на IBM HTTP Server, точнее на IBM Web Sphere сервере приложений, котрый использует IBM HTTP...

Не приходит ответ от QNetworkAccessManager::get - C++ Qt
Добрый день! Подскажите. Создаю приложение в котором нужно получать файлы с сети большого размера, но когда вызываю метод...

XMLHttpRequest: не приходит ответ от сервера - JavaScript
Всем привет! В теле страницы имею это: &lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;login&quot; onblur=&quot;checklogin()&quot; onfocus=&quot;cancellogin()&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.04.2014, 17:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru