有没有办法遍历 HttpParams
对象的所有条目?
其他人也有类似的问题( Print contents of HttpParams / HttpUriRequest? ),但答案并没有真正起作用。
在查看 BasicHttpParams 时,我看到里面有一个 HashMap
,但无法直接访问它。还有 AbstractHttpParams
不提供对所有条目的任何直接访问。
因为我不能依赖预定义的键名,所以理想的方法是迭代 HttpParams
封装的所有条目。或者至少得到一个键名列表。我错过了什么?
最佳答案
您的 HttpParams 用于在 HttpEntityEnclosedRequestBase 对象上创建 HttpEntity 集,然后您可以使用以下代码返回一个 List
final HttpPost httpPost = new HttpPost("http://...");
final ArrayList<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("a_param", username));
params.add(new BasicNameValuePair("a_second_param", password));
// add the parameters to the httpPost
HttpEntity entity;
try
{
entity = new UrlEncodedFormEntity(params);
httpPost.setEntity(entity);
}
catch (final UnsupportedEncodingException e)
{
// this should never happen.
throw new IllegalStateException(e);
}
HttpEntity httpEntity = httpPost.getEntity();
try
{
List<NameValuePair> parameters = new ArrayList<NameValuePair>( URLEncodedUtils.parse(httpEntity) );
}
catch (IOException e)
{
}
关于java - 访问 HttpParams 的所有条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9379768/