Эмуляция HTTP POST через httpclient 3.x для нескольких опций - PullRequest
1 голос
/ 28 апреля 2010

Я хочу эмулировать HTTP POST, используя кодировку application / x-www-form-urlencoded отправить группу опций, которая допускает несколько вариантов выбора.

<select name="groups" multiple="multiple" size="4">
    <option value="2">Administration</option>
    <option value="1">General</option>
</select>

Работает ли добавление 2 NameValuePairs (NVP) с тем же именем? Мой журнал на сервере показывает, что был получен только первый NVP.

* 1006 например *

PostMethod method = ...;
NameValuePair[] nvpairs = {
    new NameValuePair( "groups", "2" );
    new NameValuePair( "groups", "1" );
};
method.addParameter( nvpairs );

Получен только параметр groups = 1. Спасибо

1 Ответ

0 голосов
/ 28 апреля 2010

Скорее всего, ваш код сервера вызывает ServletRequest.getParameter(), а не getParameterValues().

Но лучший способ проверить это - использовать HTTP-прокси, такой как Fiddler , для просмотра фактического запроса.


Редактировать: правильный HttpClient метод addParameters(), а не addParameter() - ваш код показывает последнее, но я не верю, что он скомпилируется, поэтому я предполагаю, что вы скопировали неправильно.

...