通过httpclient 3.x模拟HTTP POST以获取多个选项

时间:2010-04-28 15:11:56

标签: java http post httpclient

我想使用application / x-www-form-urlencoded编码来模拟HTTP POST 发送允许多项选择的选项组。

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

添加2个名称相同的NameValuePairs(NVP)是否有效?我的服务器端日志显示只收到第一个NVP。

e.g

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

仅收到groups = 1参数。感谢

1 个答案:

答案 0 :(得分:0)

更有可能的是,您的服务器代码正在调用ServletRequest.getParameter()而不是getParameterValues()

但验证的最佳方法是使用HTTP代理(例如Fiddler)来查看实际请求。


修改:正确的HttpClient方法是addParameters(),而不是addParameter() - 您的代码显示后者,但我不相信它会编译,所以我假设您复制错误。