你在寻找HTTP参数还是URI参数?
的HTTP参数之类的东西的用户代理,插座缓冲区大小,协议版本,等等
的URI参数是得到作为请求的一部分,例如通过客户端值
?param1=value1¶m2=value2
如果你正在寻找的URI参数,尝试这样的事情:
List<String> uriParams = Arrays.asList(request.getURI().getQuery().split("&"));
但是,如果你想在原始HTTP参数,可以是一个有点复杂,因为的HttpParams的并非所有的实现支持getNames()
。你必须这样做:
HttpParamsNames params = (HttpParamsNames)request.getParams();
Set<String> names;
if (params instanceof ClientParamsStack) {
names = new HashSet<>();
// Sorted by priority, see ClientParamsStack
ClientParamsStack cps = (ClientParamsStack)params;
if (cps.getApplicationParams() != null) {
names.addAll(((HttpParamsNames)cps.getApplicationParams()).getNames());
}
if (cps.getClientParams() != null) {
names.addAll(((HttpParamsNames)cps.getClientParams()).getNames());
}
if (cps.getRequestParams() != null) {
names.addAll(((HttpParamsNames)cps.getRequestParams()).getNames());
}
if (cps.getOverrideParams() != null) {
names.addAll(((HttpParamsNames)cps.getOverrideParams()).getNames());
}
} else {
names = params.getNames();
}
for (String name : names) {
System.out.println(name + ": " + request.getParams().getParameter(name));
}
在什么包是你的HttpUriRequest? – smas 2011-02-28 17:55:48
import org.apache.http.client.methods.HttpUriRequest; – user291701 2011-02-28 17:57:16