我使用的是httpclient-4.3.5。 创建方法来设置参数
List<NameValuePair>) param = new ArrayList<NameValuePair>();
public void setParameter(String key, String value) {
param.add(new BasicNameValuePair(key, value));
httpPost.setEntity(new UrlEncodedFormEntity(param);
}
我用键和值调用此方法,例如(key1,value1)。首先将其值设置为相应的键,再次使用相同的键调用此方法,但不同的值,例如(key1,value2)则值未设置为相应的键。当我检索值时,我得到第一个值(value1)
答案 0 :(得分:0)
您正在使用param = new ArrayList<>()
,因此替换无效。如果要使用列表,则必须对其进行迭代,直到找到要更改的参数的索引,然后使用param.set(index, replacement)
。否则,使用Map<String, String>
准备参数,然后在调用List
时转换为httpPost.setEntity
答案 1 :(得分:0)
httpPost.setEntity(new UrlEncodedFormEntity(param));
在setParameter()之外调用此行,因为在设置value1后,它会立即调用httpPost.setEntity()。
如果我错误地提出问题,那么请在这里提出你的整个代码......