Страница 1 из 1
POST массив
Добавлено: 03 окт 2012, 13:19
tanchik
Здравствуйте! Скорее всего задам глупый вопрос, но тем не менее не смогла найти на него ответ. Как в java можно вывести массив переменных POST? что-то подобное print_r($_POST); как в php. Заранее спасибо!
Пробовала так:
Но это совсем не то
Re: POST массив
Добавлено: 03 окт 2012, 20:27
rezak90
getParams() возвращает HttpParams, а от туда вытягивайте что хотите.
Re: POST массив
Добавлено: 04 окт 2012, 10:50
tanchik
rezak90 писал(а):getParams() возвращает HttpParams, а от туда вытягивайте что хотите.
Благодарю!
Re: POST массив
Добавлено: 04 окт 2012, 11:38
tanchik
rezak90 писал(а):getParams() возвращает HttpParams, а от туда вытягивайте что хотите.
не поняла что-то

а можно строчку которая пост массив выведет?
Re: POST массив
Добавлено: 04 окт 2012, 11:41
rezak90
Вам известны параметры post'a? или вы хоити узнать есть хоть какие то параметры у post'a?
Re: POST массив
Добавлено: 04 окт 2012, 12:56
tanchik
rezak90 писал(а):Вам известны параметры post'a? или вы хоити узнать есть хоть какие то параметры у post'a?
я отправляю пост запрос, и хочу на него посмотреть в каком виде он уходит
Код: Выделить всё
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("LoginForm[username]", username));
nameValuePairs.add(new BasicNameValuePair("LoginForm[password]", password));
nameValuePairs.add(new BasicNameValuePair("yt0", "Войти"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
Он должен прийти в таком виде
Код: Выделить всё
Array ( [LoginForm] => Array ( [username] => test@gmail.com [password] => test ) [yt0] => Войти )
Я получаю в результате ответ - false, думаю массив пост не правильно сформировала, хочу его увидеть
Re: POST массив
Добавлено: 04 окт 2012, 13:00
rezak90
по простому: установите HttpAnalyzerStdV5 прожка легка в управлении и будете видеть всё. Но я только не знаю покажет ли она что то из работы эмулятора...
Но если лень, то думаю так:
Код: Выделить всё
httpResponse.execute(httppost);
HttpEntity httpEntity = httpResponse.getEntity();
Log.i("MyTag", "response: " + readInputStreamAsString(httpEntity.getContent()));
//................................................................................................................
public static String readInputStreamAsString(InputStream in) throws IOException {
BufferedInputStream bis = new BufferedInputStream(in);
ByteArrayOutputStream buf = new ByteArrayOutputStream();
int result = bis.read();
while(result != -1) {
byte b = (byte)result;
buf.write(b);
result = bis.read();
}
return buf.toString();
}
Re: POST массив
Добавлено: 04 окт 2012, 13:21
tanchik
rezak90 писал(а):по простому: установите HttpAnalyzerStdV5 прожка легка в управлении и будете видеть всё. Но я только не знаю покажет ли она что то из работы эмулятора...
ага, попробую! Спасибо за отзывчивость!
Re: POST массив
Добавлено: 04 окт 2012, 13:56
neoksi
tanchik писал(а):
я отправляю пост запрос, и хочу на него посмотреть в каком виде он уходит
Код: Выделить всё
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("LoginForm[username]", username));
nameValuePairs.add(new BasicNameValuePair("LoginForm[password]", password));
nameValuePairs.add(new BasicNameValuePair("yt0", "Войти"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
В этой строке явная ошибка:
Код: Выделить всё
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
Должно быть:
Код: Выделить всё
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
Вы же отправляете 3 пары, а не 2.
Re: POST массив
Добавлено: 04 окт 2012, 17:05
tanchik
neoksi писал(а):
В этой строке явная ошибка:
Код: Выделить всё
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
Должно быть:
Код: Выделить всё
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
Вы же отправляете 3 пары, а не 2.
Да, спасибо! я опечаталась
